四、文件IO函数

相关函数: 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,否则返回

posted @ 2022-12-24 18:32  cnetsa  阅读(42)  评论(0编辑  收藏  举报