ESQLC und mehr
2005-09-16 18:53„Ich kann doch nicht 40000 Dateien öffnen und schließen, um ihre Existenz zu ermitteln!“ fiel mir heute auf. OK, mal ein bisschen in coreutils von GNU gestöbert – Ich liebe OpenSource.
Aha, es gibt sys/stat.h!
man 3 stat
Kein Manual-Eintrag für stat vorhanden in Sektion 3
Ähh?!
zless /usr/share/man/man3p/stat.3p.gz
Na bitte, so gehts doch auch.
#include <sys/stat.h>
struct stat buffer;
char filename[255];
filename=argv[1];
if (stat(filename, &buffer)==0) {
DEBUG("file %s is available\n", filename);
}
Ich sollte mehr mit C und Datenbanken programmieren, nicht immer dieses langweilige PHP. Das kann doch jeder, das dauert doch Jahre, eh‘ der PHP-Interpreter da was raus hat. Mein C-Progrämmchen ist da in Sekundenbruchteilen durch. Da haben die Profis aus dem PHP-Lager, ja, die Perler auch, noch nicht mal ihr config-file geparst. Wie arbeitet eigentlich file_exists() von PHP?
Komplett ergibt das also (für copy&paste-Tester):
#include <string.h>
#include <sys/stat.h>
struct stat buffer;
char filename[255];
int main(argv)
char *argv[];
{
sprintf(filename,argv[1]);
if (stat(filename, &buffer)==0) {
printf(„file %s is available\n“, filename);
}
}
PS: Vielleicht sollte ich aus diesem Blog ein C-Schnipsel-Blog machen? Also ein CSlog, Clog, CBlog?