1-文件IO―open/close函数

匿名 (未验证) 提交于 2019-12-03 00:34:01

函数原型:

<unistd.h> <fcntl.h> int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode);

参数说明:

返回值说明:

flags选项一般有以下几种常用方式:





O_SYNC:以同步方式打开文件

O_CREAT:若打开的文件不存在则自动创建该文件

O_TRUNC:如果打开的文件存在并且以可写方式打开,则将文件的数据全部清空

O_NONBLOCK:以非阻塞式打开文件,无论有无数据或等待,都会立即返回进程之中

O_APPEND:每次打开文件后,新写入的数据会追加到文件末尾,如果不指定,则新写入的数据会从文件起始位置开始写,这会覆盖原来的数据。

O_EXCL:若打开的文件存在则出错,如果设置了O_CREAT的话,会先去检查文件是否存在,不存在则创建该文件,存在的话将出错,可用于测试一个文件是否存在。

函数原型:

int close(int fd);

参数fd:已打开的文件的文件描述符

返回值:成功返回0,失败-1

使用open和close打开并关闭一个文件

#include <unistd.h> #include <stdio.h> #include <fcntl.h> #include <errno.h>  int main(void) {     int fd = open(“test.txt” , O_RDWR | O_CREAT);     if(-1 == fd){        perror(“open”);           //使用errno必须包含errno.h           //printf(“errno = %d\n”, errno);        return -1;     }     printf(“fd = %d\n”, fd);     close(fd);     return 0; }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!