|
本文总结了在C语言中与文件流相关的标准库函数。
文件流常用标准库函数
使用下列文件流相关函数需要包含头文件stdio.h。
|
函数 |
作用 |
注意事项 |
| 打开或关闭文件流 |
fopen |
打开文件,返回指向FILE的指针 |
需要指定模式(如“r”, “w”, “a”等),并处理可能的文件打开错误 |
fclose |
关闭文件流,释放流资源 |
确保每个打开的文件流最终都被关闭,避免资源泄露 |
| 读写二进制文件流 |
fread |
从文件流中读取数据 |
需要检查返回值以确定读取的数据量和是否遇到错误或EOF |
fwrite |
向文件流中写入数据 |
需要检查返回值以确保数据正确写入 |
| 逐字符读写文本文件流 |
fgetc |
从文件流中读取下一个字符 |
在达到文件末尾或出现错误时返回EOF |
fputc |
将一个字符写入文件流 |
返回写入的字符,若出现错误则返回EOF |
| 逐行读写文本文件流 |
fgets |
从文件流中读取字符串(一行) |
确保正确处理缓冲区长度和行尾字符 |
fputs |
将字符串(不包括NUL终止符)写入文件流 |
不会自动添加换行符,需手动处理 |
| 格式化读写文本文件流 |
fscanf |
从文件流中格式化读取数据 |
与scanf类似,但从文件流读取 |
fprintf |
格式化输出到文件流 |
类似于printf,但输出到文件流 |
| 文件流状态检查 |
feof |
检查文件流的EOF标志 |
通常用于循环读取数据时判断文件是否结束 |
ferror |
检查文件流的错误指示器 |
用于错误处理和调试 |
| 文件定位 |
ftell |
返回文件流的当前文件位置指示器 |
配合fseek可实现文件的随机访问 |
fseek |
设置文件流的文件位置指示器 |
可用于移动文件指针到特定位置 |
rewind |
将文件流的文件位置指示器重置到文件开头 |
等同于fseek(stream, 0, SEEK_SET) |
| 刷新缓冲区 |
fflush |
刷新输出缓冲区到文件,丢弃输入缓冲区内容 |
参数为NULL时,刷新所有打开的文件流 |
来源:https://www.cnblogs.com/neozhuang/p/19059834/c-file-stream-stdlib-func |