Dateigrösse feststellen?
-
Hallo Leute,
siehe Titel?
04.01.2006 21:07 [b]2.206.837 [/b]virc.ZIP
Gruss Olli.
-
was hast du schon versucht?
welche eigeninitiative hast du gezeigt?http://www.c-plusplus.net/forum/viewtopic-var-t-is-136013.html
-
also unter *suchen* bekomme ich keine Beitraege?! du etwa ?
-
mal in der FAQ geguckt oder sonst irgendwelche anstalten gemacht, selber was rauszufinden?
dein problem mit der dateigroesse kennt naemlich mehrere moegliche loesungen, von denen keine die beste ist. einige sind OS-spezifisch, andere funktionieren nur auf dateien mit einer groesse (also z.b. nicht auf /dev/urandom oder so spaesse).
-
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