Hello, i wrote a little program with fseek. It works good till it reaches the first fseek(). Then it crashes and stops responding. Its really weird.
My code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
ifstream inp("myfile.txt");
if(!inp.is_open()) returnfalse;
inp.close();
FILE *f;
fopen("myfile.txt","rb");
fseek(f,0,SEEK_END); //there it crashes.
long s=ftell(f);
rewind(f);
fclose(f);
You don't initialize f. Combine lines 6 and 7 into FILE *f = fopen("myfile.txt", "rb");
You don't need lines 1-4. Just check the return value from fopen instead: if (f == NULL) returnfalse;
Lastly, see if your operating system supposed stat(). If so then you can get the size of the file without even having to open it.