C语言之文件流常用API

本文总结了在C语言中与文件流相关的标准库函数。


文件流常用API

使用下列文件流API需要包含头文件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 清空文件流的输出缓冲区 常用于确保所有输出已经从缓冲区写入文件