• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2020-03-23 21:46 Aet 隐藏边栏 |   抢沙发  4 
文章评分 0 次,平均分 0.0

文件的创建,打开与关闭

  • linux中对目录和设备的操作都是文件操作,文件分为普通文件,目录文件,链接文件和设备文件。
  • fopen以mode的方式打开或创建文件,如果成功,将返回一个文件指针,失败则返回NULL
  • fopen创建的文件的访问权限将以0666与当前的umask结合来确定

读写文件

  • fread从文件流stream 中读取nmemb个元素,写到ptr指向的内存中,每个元素的大小为size个字节
  • fwrite从ptr指向的内存中读取nmemb个元素,写到文件流stream中,每个元素size个字节
  • 所有的文件读写函数都从文件的当前读写点开始读写,读写完以后,当前读写点自动往后移动size*nmemb个字节

文件定位

  • feof判断是否到达文件末尾的下一个(注意到达文件末尾之后还会做一次)
  • fseek设置当前读写点到偏移whence 长度为offset处,whence可以是:
  • SEEK_SET (文件开头 –>0)
  • SEEK_CUR (文件当前位置 –>1)
  • SEEK_END (文件末尾 –>2)
  • ftell获取当前的读写点
  • rewind将文件当前读写点移动到文件头

格式化读写

  • 以f开头的将格式化后的字符串写入到文件流stream中
  • 以s开头的将格式化后的字符串写入到字符串str中

单个字符读写

  • getchar和putchar从标准输入输出流中读写数据,其他函数从文件流stream中读写数据

字符串读写

  • fgets和fputs从文件流stream中读写一行数据;
  • puts和gets从标准输入输出流中读写一行数据。
  • fgets可以指定目标缓冲区的大小,所以相对于gets安全,但是fgets调用时,如果文件中当前行的字符个数大于size,则下一次fgets调用时,将继续读取该行剩下的字符,fgets读取一行字符时,保留行尾的换行符。
  • fputs不会在行尾自动添加换行符,但是puts会在标准输出流中自动添加一换行符。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2021-11-20
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享