回 帖 发 新 帖 刷新版面

主题:[讨论]请教FILE结构体怎么访问?

谭浩强C程序设计第三版331页讲
在stdio.h文件中FILE被声明为结构体。
FILE *fp;
fp=fopen("d.txt","r");
那么fp应该为指向该结构体的指针
为何我用printf("%d",fp->level)
但是编译时显示
 error: structure has no member named `level'

请大家帮帮忙,谢谢!

程序如下:

#include <stdio.h>
main()

    FILE *fp;
    int a;
    fp=fopen("file0.c","rb");
    printf("%d",fp->level);
}

回复列表 (共4个回复)

沙发

成员名
再说那样也读不出东西来啊

板凳

&#35874;&#35874;&#65292;&#19981;&#36807;&#35885;&#28009;&#24378;&#20070;&#19978;&#20889;level&#26159;&#25104;&#21592;&#21517;&#65292;&#20294;&#26159;fp->level&#21364;&#19981;&#33021;&#22815;&#34987;&#35843;&#29992;

3 楼

&#35874;&#35874;&#65292;level&#26159;&#25104;&#21592;&#21517;&#65292;&#20026;&#20160;&#20040;&#35843;&#29992;p->level&#21364;&#26174;&#31034;&#27809;&#26377;&#36825;&#19968;&#39033;&#21602;&#65311;

4 楼

不要访问FILE的成员。每种编译平台上,FILE结构体的成员名称和成员数目都可能不一样,因此无法写出适用于各个编译平台的程序代码。
谭老师的书,错误较多,初学时还是选一本好点的教材吧。

我来回复

您尚未登录,请登录后再回复。点此登录或注册