首页 > 其他分享 >四、文件IO函数

四、文件IO函数

时间:2022-12-24 18:47:19浏览次数:44  
标签:文件 include 函数 int fd 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,否则返回

标签:文件,include,函数,int,fd,IO,权限
From: https://www.cnblogs.com/cnetsa/p/17003184.html

相关文章

  • 六、格式化输入输出和错误处理函数
    相关函数:printf头文件 :#include<stdio.h>函数原型:intprintf(constchar*format,…);函数说明:printf会根据参数format来转换并格式化数据,然后将结果写到标准输......
  • 标准IO函数
    相关函数:fopen头文件 :#include<stdio.h>函数原型:FILE*fopen(constchar*path, constchar*mode);函数说明:参数path字符串包含要打开的文件路径和文件名 ......
  • 文件和目录函数
    相关函数:stat头文件 :#include<sys/stat.h>           #include<unistd.h>函数原型:intstat(constchar*path,structstat*buf);函数说明:stat用......
  • 内存管理函数
    相关函数:malloc头文件 :#include<stdlib.h>函数原型:void*malloc(size_tsize);函数说明:分配内存返回值 :成功返回分配的内存的首地址           ......
  • 八、进程相关函数
    相关函数:abort头文件 :#include<stdlib.h>函数原型:voidabort(void);函数说明:引起进程异常终止,此时所有已打开的文件流会自动关闭,缓冲区里的数据也会自动写回返......
  • Android studio学习第一期
    下载工具 Androidstudio参考博客https://blog.csdn.net/weixin_45406151/article/details/114531103汉化完成并创建了虚拟手机 安卓app项目目录结构模块编译规......
  • CF1666K Kingdom Partition 题解
    题意给定\(n\)个点\(m\)条边的无向图,边有边权\(l\)。需要将点划分成\(A,B,C\)三个集合。\(A\)或\(B\)内部的边有\(2l\)的贡献,\(AC\)或\(BC\)之间的边有......
  • Go 快速入门指南 - defer 函数
    概述一个 ​​defer​​ 语句就是一个普通的函数或方法调用。 ​​defer​​ 语句保证了不论是在正常情况下(return返回),还是非正常情况下(发生错误,程序终止),函数......
  • Go 快速入门指南 - panic/recover 函数
    panic​​panic​​​ 会终止程序并退出,因此只有在发生严重的错误时才会使用 ​​panic​​。例子主动触发packagemainfuncmain(){panic("someerror...")}//$go......
  • Go 快速入门指南 - 函数
    概述​​函数​​ 是将一个或者一类问题包装为一个代码块,可以被多次调用,提高代码重用性。Go函数中声明、定义、参数、返回值这些基础概念,和其他编程语言中的一致,这里不再......