UC高级编程第二天

一.LINUX中缓存类型

1.用户空间缓存机制

1.行缓存:stdin/stdout

2.无缓存:普通文件

3.全缓存 :stderr

行缓存:遇到\n换行符

进程正常终止的时候,从main函数 return

二 linux中文件的类型:共有7种
-:表示普通文件
d: 表示文件夹文件
c: 表示字符设备文件
b: 表示块设备文件
s: 表示socket文件
l:表示链接文件
p: 表示管道文件

三. 标准IO之定位流

fseek:

int fseek(FILE *stream, long offset, int whence);

功能:
定位文件流
参数:
fp: 改变偏移量的文件
offset: 偏移的字节个数
whence: SEEK_SET 定位文件流在文件的开头
SEEK_CUR 定位文件流在文件的当前位置
SEEK_END 定位文件流在文件的末尾
返回值:
成功 返回0
错误 -1 errno被设置

rewind:

rewind(3)  
		rewind() == fseek (fp, 0L, SEEK_SET);
		功能:将文件流定位到文件的开头位置

ftell:

ftell(3) 
		功能:获取当前文件位置并返回
		返回值: 成功 返回文件当前位置
		

四.系统IO,文件IO标准IO的区别

1.文件IO是linux内核向上提供的接口,都是系统调用函数

2.系统调用函数是内核直接提供的函数,在linux操作系统中有470+
库函数是在系统调用的基础上再次根据不同的需求进行封装的,标准IO都是通过系统调用函数而实现的

可以简单的说明

标准IO:

标准IO是C语言标准库中定义的一组用于输入输出操作的函数,如printf、scanf、fopen、fclose等。
它提供了一种抽象层,使得程序员不必关心底层硬件的细节,就可以进行文件和设备的数据交换。
标准IO通常使用缓冲机制来提高I/O操作的效率。

系统IO:

  • - 系统IO通常指的是操作系统层面的输入输出操作,它可能包括对硬件设备的直接访问。
    - 系统IO可能涉及到更底层的接口,如中断、DMA(直接内存访问)等,这些通常由操作系统的设备驱动程序来管理。
    - 系统IO可能不使用缓冲,或者使用不同的缓冲策略。
    

文件IO(File I/O):

文件IO是指对文件进行读写操作的过程,它是I/O操作的一种特例。
文件IO可以通过标准IO函数实现,也可以通过系统调用(如Unix/Linux的read和write系统调用)直接进行。
文件IO操作可能涉及到文件系统的交互,如文件的打开、关闭、定位和同步等。

系统IO

open:

int open(const char *pathname, int flags, mode_t mode);
功能:
		参数:
				pathname: 文件的路径 
				flags: 文件打开的标记信息和文件状态信息
					三选一
					O_RDONLY
					O_WRONLY 
					O
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叁生花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值