000
26.05.2006, 19:47 Uhr
RedEagle
|
Je nachdem wie sich der Benutzer entscheidet, soll mein Programm am Ende einer Datei schreiben, oder eine Neue erstellen (bzw alten Inhalt überschreiben). Das Programm benötigt die Position in der Datei. Deshalb benötige ich, wenn ich Baten an das Ende einer Datei anhänge, die Anzahl der Bytes, die davor stehen (also die Position des Dateiendes).
Das Problem: ftell gibt immer 0 zurück! Warum??
Hier der Code:
C++: |
FILE *imgfile; if(opt_add) imgfile = fopen(argv[argument],"ab"); //ans ende der Datei else imgfile = fopen(argv[argument],"wb"); //neue Datei if(imgfile==NULL) { printf("File error: unable to open \"%s\"\n",argv[argument]); return 1; } argument++; int bytecounter = 0; //Position in der Datei
if(opt_add) { bytecounter = ftell(imgfile); //Position der Bytes /**/printf("%i\n",bytecounter); //es wird "0" ausgegeben :( }
|
-- MFG RedEagle |