为什么FILE指针不能读取文件中的内容?

时间:2012-04-11 03:41:44

标签: c file pointers

我正在尝试从文件yh.dat获取内容,其中包含文本“456 78921”和C.But的其他内容,当我尝试调试代码时,FILE指针不是NULL(0x00428af8)并且_ptr和_base为NULL(0x000000)。他们说“CXX0030:错误:表达式无法评估”。如何解决?

int main(){
   FILE *fp=NULL;
   fp=fopen("yh.dat","rb");
   if(fp==NULL)
   {
        printf("error");
    exit(0);
   }
   return 0;
}

1 个答案:

答案 0 :(得分:2)

为了允许您更改文件缓冲,在您发出第一次读取之前,C不会为文件设置缓冲区。因此,在您尝试至少一次读取之前,FILE *指向的任何结构的成员都处于仅半初始化状态是正常的。

您是否尝试过阅读数据以确定其是否有效?