Dateigrösse feststellen?
-
mal in der FAQ geguckt oder sonst irgendwelche anstalten gemacht, selber was rauszufinden?
JA HABE ICH, SOGAR GOOGLE, Google bringt aber nur schrott...
einige sind OS-spezifisch
Bräuchte eine funktion fuer Win32.
-
http://www.google.com/search?q=c+file+size
erstes ergebnis hat einen prima beispielcode, der sogar nur auf windows funktioniert.
konkret brauchst du stat()
-
http://www.google.com/search?q=c+file+size
erstes ergebnis hat einen prima beispielcode, der sogar nur auf windows funktioniert.
konkret brauchst du stat()Danke fuer den Hinweis! ich suchte nach Dateigrösse...
-
heisst das jetzt, dass du den stat() call verstanden hast und .st_size aus dem rueckgabewert benutzt?
-
c.rackwitz schrieb:
heisst das jetzt, dass du den stat() call verstanden hast und .st_size aus dem rueckgabewert benutzt?
/* Dateigroesse setzen. */ void SetFileSize(struct ffblk *file) { struct stat FSize; if (!stat(file->ff_name, &FSize)) file->ff_fsize = FSize.st_size; }
klappt super, vielen danke noch mal...
Gruss Olli.
-
Nur am Rande - du kannst auch rein mit C-Mitteln die Größe einer Datei bestimmen:
FILE* f=fopen(Dateiname,"r"); fseek(f,0,SEEK_END); return ftell(f);
-
aber nur, wenn die datei mit sicherheit eine endliche groesse hat.
-
c.rackwitz schrieb:
aber nur, wenn die datei mit sicherheit eine endliche groesse hat.
Kennst du eine Datei mit unendlicher Größe?
(btw, was liefert stat(), wenn die übergebene Datei nicht "mit sicherheit eine endliche groesse" hat?)
-
mir is alles egal. macht doch was ihr wollt.
-
-
[cpp]FILE* f=fopen(Dateiname,"rb");
fseek(f,0,SEEK_END);
return ftell(f);[/code]Dateien binär (zweites Argument von fopen "rb") öffnen, da die Datei sonst als Textdatei interpretiert wird.
mfg
-
nur wenn man ein windows ist.
-
Will noch jemand eine Filesuppe?
-
c.rackwitz schrieb:
mir is alles egal.
-
Ich glaube jemand hat den Account von "c.rackwitz" gehackt.
-
Genug gelaestert
Problem erkannt und geloest, damit Topicoff