C语言中常用的文件读写函数

以下是常见的文件读写函数:

  1. 从文件读取一个字符:fgetc
int fgetc ( FILE * stream );
  • stream是输入流指针,返回值是读取的字符;
  • 从外存输入内存一个字符,每输入一个字符,文件输入流指针向后偏移一个字符,如果位置指示符在文件末尾,该函数返回EOF并设置stream的EOF指示符(feof);如果发生其他读取错误,该函数也返回EOF,但设置其错误指示器(ferror)。
  1. 向文件写入一个字符:fputc
int fputc ( int character, FILE * stream );
  • stream是输出流指针,charactershi 是源头字符,返回值是输出的字符;
  • 从内存输出外存一个字符,每输出一个字符,文件输出流指针向后偏移一个字符;如果输出错误,则返回EOF,并设置错误提示器(terror);
  1. 从文件读取一行字符串:fgets
char * fgets ( char * str, int num, FILE * stream );
  • stream是输入流指针,str是从外存获取的字符串并用于存储的目标地址,读取num-1 个字符,或者遇到换行符或者文件末尾提前结束,如果读取成功,返回str地址(即使 遇到换行符或文件末尾提前结束),如果一个字符都没有读取或者读取错误,则返回 NULL,目标指针str内容不改变,如果读取提前结束,则设置eof(feof),如果读取错 误,则设置错误提示器(ferror);
  • 从外存输入内存一行字符串,当获取的一行字符串长度小于num-1个时候,换行符也会 被读取,并且在字符串末尾自动添加一个终止NULL;
  1. 向文件写入一行字符串:fputs
int fputs ( const char * str, FILE * stream );
  • stream是输出字符流,str是源头字符串指针,如果输出成功,则返回一个非负数,如 果输出失败发生错误,则返回EOF并设置错误提示器(feof);
  • 从内存输出外存一行字符串,
  1. 从文件中格式化读取一组数据:fscanf
int fscanf ( FILE * stream, const char * format, ... );
  • stream是输入流指针,format…是个格式化的数据;如果成功,该函数返回参数列表中成功填充的项数。这个计数可以与预期的项数相同, 也可以由于匹配失败、读取错误或到达文件结束符而更少(甚至为零)。如果发生读取错 误或在读取时到达文件末尾,则设置适当的指示符(feof或ferror)。如果在成功读取任 何数据之前发生了其中一个,则返回EOF。如果在解释宽字符时发生编码错误,该函 数将errno设置为EILSEQ。
  • 输入到内存中并格式化存储与目标变量,
  1. 向文件中格式化输出一组数据:fprintf
int fprintf ( FILE * stream, const char * format, ... );
  • stream是输出流指针,把格式化的数据输出到外存中;
  • 如果成功,则返回输出的字符总数。如果发生输出错误,则设置错误指示器(ferror)并返 回一个负数。如果在输出宽字符时发生多字节字符编码错误,则将errno设置为EILSEQ 并返回一个负数。
  1. 从文件读取二进制数据:fread
size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );
  • stream是输入流指针,size是读取的每个数据的字节数,count是总共读取数据数量, ptr是读取到的数据在内存中的存储地址;返回成功读取的元素总数。如果这个数字与 count参数不同,要么发生了读取错误,要么在读取时到达了文件末尾。在这两种情况 下,都设置了适当的指示器,可以分别用ferror和feof检查。如果size或count有一 个为零,该函数返回零,并且流的状态和ptr指向的内容都保持不变。Size_t是无符号 整数类型。
  • 从外存中读取指定数量的二进制数据;
  1. 向文件输出二进制数据:fprintf
size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream ); 
  • stream是输出流指针,size是输出的每个数据的字节数,count是总共输出的数据数 量,ptr是需要向外存输出的数据在内存中的存储地址;
  • 返回成功写入的元素总数。如果这个数字与count参数不同,则会发生写入错误,导致 函数无法完成。在这种情况下,将为流设置错误指示器(ferror)。如果size或count为 零,则函数返回零,错误指示符保持不变。Size_t是无符号整数类型。
  • 向外存中输出指定数量的二进制数据;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值