嗨,请各位告诉我如何显示指针位置 例如
fpos_t pos;
(fgetpos(fp,& pos) 如何显示pos值
感谢
答案 0 :(得分:2)
为了便携地这样做,你不应该尝试显示那个pos值。 尝试使用ftell()代替。
long pos;
pos = ftell(fp);
printf("pos is %ld bytes\n", pos);
答案 1 :(得分:2)
你做不到。 fpos_t包含多于偏移:它具有正确重置具有移位状态的字符集的处理的信息。 ftell()为你提供了一个偏移量(但要注意,它的范围可以限制在可能的文件大小之下)。
答案 2 :(得分:0)
在某些Unix系统中,fpos_t
相当于off_t
或long int
,但在其他系统中,它可能有不同的内部表示。
pos_t position;
fgetpos(stream, &position);
...
fsetpos(stream, &position);
printf("offset: %ld\n", position.__pos);
^^^ ^^^^^
使用long
整数数据类型可以正常工作,但我重复一遍fpos_t
的内部表示因系统而异。