linux学习笔记-读《Linux编程技术详解》(5)-文件I/O操作

来源:互联网 发布:不良资产证券化 知乎 编辑:程序博客网 时间:2024/06/04 19:42

在对一个文件或设备进行读写前,都需要打开文件或设备,以获得该文件或设备的操作指针,也就是文件描述符。通过该信息可以完成文件或设备的读取、修改等操作。open函数用于完成打开文件的操作。

           int open(const char *pathname, int flags);

           int open(const char *pathname, int flags, mode_t mode);

close函数用于关闭打开的文件或设备。只有调用cose函数后,前面通过open函数打开文件或设备所占用的资源才会被释放。在程序开发中,从资源释放的角度和程序安全上看,有必要养成在调用open函数后使用close函数释放资源的习惯。

           int close(int fd);

create函数等同于int open(const char *pathname, O_CREAT|O_WRONLY|O_TRUNC, mode_t mode)的形式。

           int creat(const char *pathname, mode_t mode);

 

read函数完成对文件的读写操作:

           ssize_t read(int fd, void *buf, size_t count);

write函数用于对文件进行写操作;

ssize_t write(int fd, const void *buf, size_t count);

 

对文件进行读写操作时,读取或写入文件的位置通过相对于文件起始内容的偏移量来控制。lseek函数用来改变该位置。

           off_t lseek(int fildes, off_t offset, int whence);

 

dupdup2函数常用于实现输入、输出的重定向。

           int dup(int oldfd);

           int dup2(int oldfd, int newfd);

dup函数用于复制指定的文件描述符。函数返回的新描述符是当前进程最小的未使用的描述符;

dup2函数同样用于复制指定的文件描述符,参数与dup不同,如果新的文件描述符已经打开,将会先关闭新的文件描述符。

                                                                       

原创粉丝点击