这里仅是介绍一些文件操作的函数
打开和关闭文件
int open(char *filename,int flags,mode_t mode);
打开一个已存在文件或者创建一个新文件,
成功返回新文件描述符,出错为-1
int close(int fd);
关闭文件
其中flags参数指明了进程如何访问这个文件:
-
O_RDONLY:只读
-
O_WRONLY:只写
-
O_RDWR:可读可写
-
O_CREAT:如果文件不存在,创建它的一个截断的文件
-
O_TRUNC:如果文件已存在,就截断它 O_APPEND:每次写操作前,设置文件位置到文件结尾处
mode参数指定了新文件访问权限位。
例如:
fd=open("a.txt",O_WRONLY|O_APPEND, 0);
读写文件
ssize_t read (int fd, void *buf, size_t n);
正常返回读的字节数,若EOF则为0,出错为-1
ssize_t write(int fd, const void *buf, size_t n);
正常返回写的字节数,出错为-1
重定向操作
int dup2(int oldfd, int newfd);
成功返回非负的描述符,出错为-1
该函数复制描述符表表项oldfd到描述符表表项newfd,覆盖描述符表表项newfd以前的内容;lf newfd已经打开了,函数会在复制oldfd之前关闭newfd。