unix环境编程学习破产法3 IO读写操作

# include & lt; unistd.h>

ssize_t帖子:(int fd, void * buf size_t nbytes, off_t抵消);//返回值:读到的字节数,若已到文件结尾则返回0,若出错返回1

ssize_t pwrite (int fd, const void * buf size_t nbytes, off_t抵消);//返回值:若成功返回已写的字节数,若出错返因1

帖子:pwirte,相当于顺序调用lseek和读或写,但调,用个帖子:pwrite时无法中断其定位和读写操作,并且不能更新文件指针。

:查看文件的实际内容

文件描述符:,每个文件描述符表项关联:(a)文件描述符标志。(b)指向一个文件表项的指针。

文件表:内核为所有打开的文件维护一张文件表,每个文件表项包含:(a)文件状态标志(读、写、增写,同步,非阻塞等)。(b)当前文件的偏移量。(c)指向该文件v节点表项的指针。

,,,, v节点:每个打开的文件(或设备)都有一个v节点结构。包含了文件类型和对此文件进行各种操作的函数的指针信息。对于大多数文件,v节点还包含了该文件的我节点(索引节点)。这些信息是在打开文件时从盘上读入内存的,所以所有关于文件的信息都是快速可供使用的,例如,我节点包含了文件的所有者,文件长度,文件所在的设备,指向文件在盘上所使用的实际数据块的指针等等。

,,,它int fcntl (int提起,int cmd, ....);

cmd:

, F_DUPFD复制一个现存的文件描述符。

, F_GETFD或F_SETFD获得/设置文件描述符标志

, F_GETFL或F_SETFL获得/设置文件状态标志即开函数中模式的几种状态

, F_GETOWN或F_SETOWN获得/设置异步i/0权限

, F_GETLK F_SETLK或F_SETLKW获得/设置记录锁


unix环境编程学习破产法3 IO读写操作