文件IO-文件操作(1)

打印 上一主题 下一主题

主题 1560|帖子 1560|积分 4682

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
打开文件

打开文件函数说明
  1. //pathname->待打开的文件的路径
  2. //mode->访问文件的权限
  3. //"r":以只读的方式打开,文件必须存在
  4. //"r+":以读写的方式打开,文件必须存在
  5. //"w":以只写的方式打开,如果文件不存在,则创建;如果存在,内容会被清空
  6. //"w+":以读写的方式打开,如果文件不存在,则创建;如果存在,内容会被清空
  7. //"a":以只写的方式打开,如果文件不存在,则创建;文件位置偏移到文件末尾(以追加的方式写入)
  8. //"a+":以读写的方式打开,如果文件不存在,则创建;文件位置偏移到文件末尾(以追加的方式写入)
  9. //返回值:成功返回文件指针,失败返回null
  10. FILE *fopen(const char *pathname,const char *mode);
复制代码
读取数据

函数大体分为三类:字符读取(fgetc)、按行读取(fgets)、按块读取(fread)。
字符读取
  1. //stream:待读取的文件
  2. //返回值:读取成功返回字符的ASCII码,否则返回EOF(-1)
  3. //EOF:可能是到达文件末尾也有可能读取错误
  4. int fgetc(FILE *stream);  //等价于int getc(FILE *stream);
  5. int getchar(void);        //从标准输入中获取stdin
复制代码
按行读取
  1. //s:自定义缓存区的指针
  2. //size:自定义缓冲区的大小
  3. //stream:被读取文件数据的文件指针
  4. //返回值:成功返回指针s,失败返回null,可能到达末尾也可能遇到错误
  5. char *fgets(char *restrict s,int n,FILE * restrict stream);
  6. char *gets(char *s);//从stdin读入数据
复制代码
按块读取
  1. //ptr:自定义缓冲区指针
  2. //size:数据块的大小
  3. //nmemb:数据块的个数
  4. //stream:被读取数据的文件指针
  5. //返回值:成功:读取的数据块的个数等于nmemb;失败:读取的数据块的个数小于nmemb,或等于0
  6. //返回值小于nmemb失,可能到达文件末尾,也可能遇到错误
  7. size_t fread(void *ptr,size_t size,size_t nmemb, FILE *stream);
复制代码
feof函数

此函数用于判断是否到达文件的末尾
  1. int feof(FILE *stream);//到达文件末尾返回非0值
复制代码
ferror函数

判断是否堕落
  1. int ferror(FILE *stream);//如果发生错误返回非0值
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南七星之家

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表