Größe einer Datei ermitteln, die per Kommandozeile übergeben wurde
-
Servus zusammen,
ich möchte die Größe einer Datei ermitteln. So weit so gut
"stat"
und fertig...Nun ist nur das Problem, dass ich nicht weiß wie die Datei heißt, sie wird in der Kommandozeile übergeben.
Aufruf a la:
./meinProgramm <Datei
Kann ich für diese Datei bestimmen wie sie heißt und wo sie liegt (dann kann ich stat aufrufen) bzw. direkt wie groß sie ist?
Thx!
-
An die Datei, die in die Standardeingabe deines Programms gelenkt wurde kommst du leider nicht direkt, die Größe könntest du höchstens bestimmen, wenn du sowas in der Art machst
int size; fseek(stdin, 0, SEEK_END); size=ftell(stdin); fseek(stdin, 0, SEEK_SET);
Ich kann nicht garantieren, dass es funktioniert.
-
int file = open(argv[1], O_RDONLY), filesize = filelength(file); printf("%d\n", filesize); close(file);
-
ah, super, das hilft mir schon mal weiter...