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