2011-02-24 92 views
0

喜逢请你告诉我如何显示指针位置 为如显示指针位置

fpos_t POS;

(fgetpos(FP,& POS) 如何DISPLY POS值

感谢

回答

2

可移植,你不应该试图显示POS值做到这一点。 尝试使用FTELL() 。而不是

long pos; 
pos = ftell(fp); 
printf("pos is %ld bytes\n", pos); 
2

不能将fpos_t包含超过偏移。FTELL有信息来正确复位都具有换档状态的字符集的处理()给你一个取舍et(但要注意,它的范围可以限制为小于可能的文件大小)。

0

在某些Unix系统中,fpos_t相当于off_tlong int,但在其他系统中,它可能具有不同的内部表示形式。

pos_t position; 
fgetpos(stream, &position); 
... 
fsetpos(stream, &position); 
printf("offset: %ld\n", position.__pos); 
       ^^^    ^^^^^ 

随着long整数数据类型,它工作正常,但我重复的fpos_t内部表示从系统而异。