ftell函数用于得到文件位置指针当前位置相对于文件首的偏移字节数,下面给出一个简单的例子:
#include<iostream> using namespace std; int main() { FILE *fp = fopen("myData.txt", "w"); cout << ftell(fp) << endl; fprintf(fp, "123"); cout << ftell(fp) << endl; fprintf(fp, "%d", 456); cout << ftell(fp) << endl; fclose(fp); int a; fp = fopen("myData.txt", "r"); cout << ftell(fp) << endl; fscanf(fp, "%d", &a); cout << ftell(fp) << endl; cout << a << endl; fclose(fp); cout << "*********************" << endl; int b[10]; memset(b, 0, sizeof(b)); fp = fopen("yourData", "wb"); cout << ftell(fp) << endl; fwrite(b, sizeof(b), 1, fp); cout << ftell(fp) << endl; fclose(fp); int c[10]; fp = fopen("yourData", "rb"); cout << ftell(fp) << endl; fread(c, sizeof(c), 1, fp); cout << ftell(fp) << endl; fclose(fp); return 0; }
结果为:
0
3
6
0
6
123456
*********************
0
40
0
40