C语言进阶
admin
2024-01-29 14:47:28

C语言进阶

  • 文件操作
    • 1 文件 I/O 库
      • 1.1 文件描述符
      • 1.2 读写操作(open 、close 、write 、read)
      • 1.3 文件 I/O 内核缓冲
    • 2 标准I/O 库
      • 2.1 FILE 指针
      • 2.2 读写操作(fopen 、fclose 、fwrite 、fread)
      • 2.3 标准 I/O 缓冲

文件操作

1 文件 I/O 库

文件 I/O 指的是对文件的输入 / 输出操作,说白了就是对文件的读写操作
文件 I/O 是系统调用

1.1 文件描述符

文件描述符:是一个非负整数,是一个文件句柄,是与对应的文件绑定

文件描述符的分配:为没有被使用的且最小的非负整数

系统定义的文件描述符:0 1 2( 标准输入、标准输出、标准错位 )

1.2 读写操作(open 、close 、write 、read)

1、open("路径","flag方式")open("路径","flag方式","权限")flag方式O_RDONLY:  只读方式
O_WRONLY:  只写方式
O_RDWR:    可读可写方式
O_CREAT:   不存在就创建
O_EXCL:    和 O_CREAT 搭配使用权限如果使用 O_CREAT,则需要加入第三个参数,设置文件的权限2、close(文件描述符) 3、write(文件描述符,"写入的数据","数据大小")4、read(文件描述符,"存储读取数据的缓冲区","数据大小")

1.3 文件 I/O 内核缓冲

调用 write() 只是将 字节数据拷贝到了 内核空间的缓冲区 ,拷贝完成之后函数就返回了, 在后面的某个时刻,内核会将其缓冲区中的数据写入(刷新)到磁盘设备中,所以由此可知,系统调用 write() 与磁盘操作并不是同步的,write()函数并不会等待数据真正写入到磁盘之后再返回。

2 标准I/O 库

标准C库中,用于文件I/O操作的库函数,叫做 标准I/O库

2.1 FILE 指针

2.2 读写操作(fopen 、fclose 、fwrite 、fread)

  • fopen()
1、fopen("路径","flag方式")r  只读方式打开   O_RDONLY
r+ 可读可写方式   O_RDWR
w  只写方式打开(无文件则创建)  
w+ 可读可写方式打开(无文件则创建)
a  只写方式打开(在文件尾写入,无文件则创建)  
a+ 可读可写方式打开(在文件尾写入,无文件则创建)2、fclose(FILE 指针) 3、fwrite(”写入数据“,每个字节大小,总大小,FILE 指针)返回读取到的数据项的数目4、fread(读出存储的数据缓冲区,单字节大小,总字节大小,FILE 指针)返回写入的数据项的数目5、fseek(FILE 指针,偏移量,SEEK_SET)SEEK_SET 文件开头处SEEK_END 文件末尾处

2.3 标准 I/O 缓冲

相关内容

热门资讯

最新!马克龙:法国要建一艘新航... 每经编辑|黄胜     新华社12月21日消息,据法国商业调频电视台报道,法国总统...
【滨州日报评论员文章】聚焦实体... 制造业是立国之本、强国之基。市委十届十次全会深入研究事关我市全局和长远发展的重大问题,提出了“十五五...
齐鲁壹点获评全国宣传系统先进集...   12月20日,全国文化人才工作座谈会暨全国宣传系统先进集体和先进个人表彰大会在北京举行,山东齐鲁...
好先生结局陆远打的乐器叫什么_... 陆远的这个乐器手碟竟然要一万RMB以上!电视剧好先生昨晚上演大结局,在最后一幕中,陆远再次穿上了主厨...
金星秀最新或2023(历届)0... 金星秀最新或2023(历届)0622期已经更新,本期节目中邀请到的嘉宾是曾荣获奥斯卡金像奖的邬君梅,...