首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于fread(在线)解决方法

2012-04-19 
关于fread(在线)为了测试fread函数中输入文件流指针的走向,简单测试如下:...int testwhile(feof(fp)){fre

关于fread(在线)
为了测试fread函数中输入文件流指针的走向,简单测试如下:
...
int test;
while(feof(fp))
{
  fread(&test,sizeof(char),1,fp);
  printf("指针所指向的地址:%p,地址中的值:%d\n",fp,test);
}
...
输出的结果是fp的值一直都没有改变,而test的值是正确的(用十六进制编辑器打开查看了文件中的值和test相符)。
问:按照道理当fread成功读取了size大小的一个值后,文件流指针fp会向前自动加size的大小阿?为什么这里的fp一直不变呢?


[解决办法]
fp 只不过是个文件流指针
它的为之需要使用ftell(fp)来查看
[解决办法]
fp是一个结构体指针,里面记录这你打开的文件的一些信息,比如文件句柄、文件属性子类的。当然不会变化了。
[解决办法]
楼主两个概念弄混淆了
fp是指向FILE类型结构体的指针, 通过使用它可以实现对文件的操作

楼主所说的"文件流指针", 应该是指流式文件中的当前位置, 它的获取是通过函数ftell(fp)来实现的

热点排行