其他分享
首页 > 其他分享> > 20201320第二周学习笔记

20201320第二周学习笔记

作者:互联网

I/O库函数

本章讨论了 I/O库函数;详细介绍了IO库函数的算法,包括fread、 fwrite和fclose的算法,重点介绍了它们与read、write和close系统调用的交互;介绍了 I/O 库函数的不同模式,包括字符模式、行模式、结构化记录模式和格式化IO操作;阐述了文件流缓冲方案,并通过示例程序说明了不同缓冲方案的效果;阐释了有不同参数的函数以及如何使用stdarg宏访问参数。

系统调用是文件操作的基础,但它们至支持数据块的读/写。I/O库函数是一系列文件操作函数,既方便用户使用,又提高了整体效率。

I/O库函数与系统调用

系统调用函数:open()、read()、write()、lseek()、close()
I/O库函数:fopen()、fread()、fwrite()、fseek()、fclose()

I/O库函数算法

size_t fread(void* buff,size_t size,size_t count,FILE* stream)
作用:从文件中读入数据到指定的地址中

fwrite()函数以二进制方式向文件流中写入数据

int fclose(FILE *stream)
功能:关闭一个文件流,使用fclose就可以把缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区

I/O库模式

r :只读模式,1)文件必须存在。2)读指针指向文件开始处 3)调用write()会报错
w: 只写模式, 1)若文件不存在,创建文件。2)文件存在,清空文件。3)写指针指向文件开始处 。4)调用read()会报错
a: 追加模式(只写)1)若文件不存在,创建文件 。2)文件存在,不清空文件,而是在文件的结尾处继续写入 3)写指针直线文件结尾处 4)调用read()会报错
r+: 读写模式, 1)文件必须存在。2)打开可读写文件,读写指针均在文件头
w+: 读写模式 ,1)若文件不存在,创建文件。 2)若文件存在是可读写文件,清空文件。3)读写指针均在文件头
a+:读写模式 , 1)若文件不存在,创建文件。2)文件存在,不清空文件。3)读指针在开始位置,写指针在文件结尾位置
字符模式I/O
行模式I/O
格式化I/O
内存中的转换函数:sscanf()和sprintf

sscanf()和sprintf()并非I/O函数,而是内存中的数据转换函数。

文件流缓冲

每个文件流都有一个FILE结构体,其中包含一个内部缓冲区。对文件流进行读写需要遍历FILE结构体的内部缓冲区。文件流可以使用三种缓冲方案中的一种。

文件操作是什么?

文件为抽象数据类型。为了正确定义文件,需要考虑可以对文件执行的操作。操作系统可以提供系统调用,来创建、写入、读取、重新定位、删除及截断文件。

 

标签:文件,缓冲,读写,笔记,第二周,模式,指针,20201320,库函数
来源: https://www.cnblogs.com/sztsao/p/16653638.html