Grosse einer Datei
-
Wie kann ich in C die grosse einer datei herausfinden (in bytes) gib da was gutes?.
-
mit fseek und ftell
-
Hi!
Hayo:
unsigned long pos, size; FILE *f = fopen( "deinedatei", "rb" ); pos = ftell( f ); fseek( 0, SEEK_END ); size = ftell( f ); fseek( pos, SEEK_SET );
Feddisch!!!
grüße
-
Man sollte fpos_t nehmen anstatt unsigned long.
fpos_t ist unter Windows glaube ich ein unsigned long aber unter Linux ein struct.
-
feigling schrieb:
Man sollte fpos_t nehmen anstatt unsigned long.
fpos_t ist unter Windows glaube ich ein unsigned long aber unter Linux ein struct.quark und quark. wo steht etwas von fpos_t? doch nicht etwa im standard, oder? hab da jetzt nicht reingeguckt, also zwing mich nicht dazu.
die impl. als struct halte ich fuer falschen glauben.
-
feigling schrieb:
Man sollte fpos_t nehmen anstatt unsigned long.
fpos_t ist unter Windows glaube ich ein unsigned long aber unter Linux ein struct.Wäre mir neu. Soweit ich das jetzt gesehen habe, wird fpos_t nur bei den Funktionen
int fgetpos( FILE *stream, fpos_t *pos) int fsetpos( FILE *stream, fpos_t *pos)
verwendet.
-
Herrmann schrieb:
feigling schrieb:
Man sollte fpos_t nehmen anstatt unsigned long.
fpos_t ist unter Windows glaube ich ein unsigned long aber unter Linux ein struct.Wäre mir neu. Soweit ich das jetzt gesehen habe, wird fpos_t nur bei den Funktionen
int fgetpos( FILE *stream, fpos_t *pos) int fsetpos( FILE *stream, fpos_t *pos)
verwendet.
Oh, ich dachte das wäre bei den anderen Funktionen auch so. Ich hatte das jetzt nur von den beiden Funktionen in Erinnerung, da diese unter *nix kein unsigned long akzeptieren.