1.1 标准IO介绍
IO 的实现包括两种实现:
1.stdio标准IO
2.sysio系统IO
IO的两种实现方式正常都可以使用。但是,在使用的过程中优先使用stdio标准IO。
首先要了解这两种实现的原理:
1.sysio系统IO:我们作为USER 要与内核对话,那么系统为我们提供了一个sysio,可以直接对话KERNAL。
那么问题就产生了:如果USER使用的平台环境不一样(有的人有linux,有的人用windows),那么由于KERNAL不一样,那么提供给USER的sysio也会不一样
2.所以引申出来一个标准:标准IO stdio标准IO
比如说:printf()函数我们会发现我们在做linux系统编程或者windows系统编程的时候,这个函数都可以用,他可以适合多种平台环境
所以标准IO的优点就是:移植性好、合并系统调用( 具有缓冲的机制,系统操作加速功能)
另外,我们使用的标准IO sysio 是依赖于系统IO stdio的
例如:标准IO --fopen()函数在不同的平台依赖的系统IO函数也不一样: (linux) 依赖open(), (windows)依赖openfile()
标准IO stdio:(u-5)
文件的创建和关闭
fopen();
fclose();
读写操作的内容涉及到读写 字符 字符串, 数据块等,所以涉及的函数主要有下面几个
fgetc();
fputc();
fgets();
fputs();
fread();
fwrite();
////////后面会讲printf函数族和scanf函数族///////
printf();
scanf();
对文件操作涉及到的文件位置指针:
fseek();
ftell();
rewind();
文件缓冲:
fflush()
tips:
FILE类型---是个结构体
我们可以查看man手册来查看各种命令以及IO操作的使用方法
man man
man X 函数
1:基本命令
2:系统调用
3:标准库
7:机制(socket tcp epoll)
文件IO与标准IO的区别:
标准IO具有缓冲机制 ,吞吐量大
文件IO速度快,实时性高
strace ./XXX可以查看可执行文件的系统调用