相关函数: open

头文件  : #include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

函数原型: int open(const char *pathname,  int flags);

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

函数说明: 参数pathname指向要打开的文件路径字符串。

参数flags含义如下:

O_RDONLY    以只读方式打开文件

O_WRONLY    以只写方式打开文件

O_RDWR      以读写方式打开文件。

O_CREAT      若要打开的文件不存在则创建该文件

O_EXCL       如果O_CREAT也被设置,此选项会去检查文件是否存在。文件若不存在则建立该文件,否则出错

O_NOCTTY     如果要打开的文件为终端机设备时,则不会将该终端机当成进程控制终端机

O_TRUNC      若文件存在且以可写的方式打开时,此选项会把文件长度清为0

O_APPEND     写入的数据会以附加的方式加入到文件末尾

O_NONBLOCK  以非阻塞的方式打开文件

参数mode含义如下:

S_IRWXU       00700,代表文件所有者具有读、写和执行的权限

S_IRUSR        00400,  代表文件所有者具有读的权限

S_IWUSR       00200,  代表文件所有者具有写的权限

S_IXUSR        00100,  代表文件所有者具有执行的权限

S_IRWXG       00070,  代表文件所属组具有读、写和执行的权限

S_IRGRP        00040,  代表文件所属组具有读的权限

S_IWGRP        00020,  代表文件所属组具有写的权限

S_IXGRP        00010,  代表文件所属组具有执行的权限

S_IRWXO       00007,  代表其他用户具有读、写和执行的权限

S_IROTH        00004,  代表其他用户具有读的权限

S_IWOTH       00002,   代表其他用户具有写的权限

S_IXOTH        00001,  代表其他用户具有执行的权限

返回值  : 操作成功返回要打开文件的文件描述符,否则返回-1

相关函数: close

头文件  : #include <unistd.h>

函数原型: int close(int fd);

函数说明: 当使用完文件后可以用close()关闭该文件。参数fd是之前用open打开的文件描述符

返回值  : 若文件顺利关闭则返回0,否则返回-1

相关函数: read

头文件  : #include <unistd.h>

函数原型: ssize_t read(int fd,  void *buf,  size_t count);

函数说明: 从参数fd所指向的文件中读取count个字节到buf指向的内存中

返回值  : 返回实际读取的字节数,如果返回0表示已到达文件尾或无数据可读

相关函数: write

头文件  : #include <unistd.h>

函数原型: ssize_t write(int fd,  const void *buf,  size_t count);

函数说明: 把参数buf指向的内存中count个字节的内容写到fd所指向的文件内

返回值  : 返回实际写入的字节数,如有错误发生返回-1

相关函数: lseek

头文件  : #include <unistd.h>

#include <sys/types.h>

函数原型: off_t lseek(int fd,  off_t offset,  int whence);

函数说明: 每个已打开的文件都有一个读写位置。当打开文件时通常读写位置是指向文件开始;若是以附加的方式打开,则读写位置会指向文件尾。对文件的读写操作会引起读写位置的变化。

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

参数offset为根据参数whence来移动读写位置的偏移量

参数whence为移动读写位置的基准点,含义如下:

SEEK_SET    文件的开始处为基准点

SEEK_CUR    文件的当前位置为基准点

SEEK_END    文件的末尾为基准点

返回值  : 返回实际写入的字节数,如有错误发生返回-1

相关函数: sync

头文件  : #include <unistd.h>

函数原型: int sync(void);

函数说明: 把系统缓冲区数据写回磁盘,确保数据同步

返回值  : 操作成功返回0,否则返回