FILE结构体

56 篇文章 1 订阅
54 篇文章 0 订阅

我们经常看到涉及到文件的代码中有FILE,经常写作FILE* fp。这个FILE被定义在c语言的头文件stdio.h文件里,如下:

struct _iobuf {
        char *_ptr;
        int   _cnt;
        char *_base;
        int   _flag;
        int   _file;
        int   _charbuf;
        int   _bufsiz;
        char *_tmpfname;
        };
typedef struct _iobuf FILE;

在linux源码里找。可以看这个http://bbs.chinaunix.net/thread-1827368-1-1.html,既然是linux源码,则可以看自己收藏的linux源码网站。

FILE *fp 是声明,声明fp是指针,用来指向FILE类型的对象(这个对象一般就是一个文件)。

fp=fopen("yssysj.txt","r"); fopen标准函数,打开磁盘文件yssysj.txt, 用于读,返回指针,指向FILE类型对象。

fscanf 用于从文件读入数据,scanf 从键盘读入数据。
书写格式上,fscanf 多一个参数,就是 fp,其它两者一样:
fscanf(fp,"%f",&x[i][j]);
scanf("%f",&x[i][j]);

FILE这个结构包含了文件操作的基本属性,对文件的操作都要通过这个结构的指针来进行,此种文件操作常用的函数见下表 函数 功能
fopen() 打开流
fclose() 关闭流
fputc() 写一个字符到流中
fgetc() 从流中读一个字符
fseek() 在流中定位到指定的字符
fputs() 写字符串到流
fgets() 从流中读一行或指定个字符
fprintf() 按格式输出到流
fscanf() 从流中按格式读取
feof() 到达文件尾时返回真值
ferror() 发生错误时返回其值
rewind() 复位文件定位器到文件开始处
remove() 删除文件
fread() 从流中读指定个数的字符
fwrite() 向流中写指定个数的字符
tmpfile() 生成一个临时文件流
tmpnam() 生成一个唯一的文件名

 

在UNIX环境编程的第5章就有说这个FILE对象

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值