(文件系统学习三) 文件的读写

今天继续学习文件系统,今天要看的时文件的读写。

1.read函数

read系统调用用来从打开的文件中读取数据,在Shell中输入“man 2 read”可获取其函数原型。

其函数原型如下:

该函数中各参数的含义是:从文件描述符fd所指向的文件中读取count个字节的数据到buf所指向的缓存中。若参数count为零,则read()不会读取数据,只返回0.返回值表示实际读取的字节数;如果返回零,则表示已经到达文件尾或者是没有可读取的数据,此外文件读写指针会随读取到的字节移动。如果read()顺利返回实际读到的字节数,最好能将返回值与参数count做比较,若返回的字节数比要求的字节数少,则有可能读到了文件尾部或者read()被信号中断了读取过程,或者是其他原因。当有错误发生时则返回-1,错误代码存在error中。

2.write函数

write系统调用用来将数据写入已打开的文件中,在Shell中输入“man 2 write”可获取该函数原型。

其函数原型如下:

该函数中各参数的含义是:将buf所指向的缓冲区中的count个字节数据写入到由文件描述符所fd指向的文件中。当然,文件读写指针也会随之移动。如果调用成功,write()会返回写入的字节数。当有错误发生时则返回-1,将错误代码获存入error中。

关于文件读写的举例将在下一篇学习笔记中,与文件读写指针一块举例。

(未完待续)

发表评论

电子邮件地址不会被公开。 必填项已用*标注