Linux文件IO操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kakascx/article/details/82688631

Linux文件IO操作包括打开(open),创建(create),读(read),写(write)

打开open

  • int open(const char *path, int oflags);
  • int open(const char *path, int oflags,mode_t mode);
    • 参数path表示:路径名或者文件名。路径名为绝对路径名。
    • 参数oflags表示:打开文件所采取的动作
      • O_RDONLY文件只读;O_WRONLY文件只写;O_RDWR文件可读可写;O_CREAT访问该文件时若没有则创建
      • O_NOCTTY如果路径指向终端,则不将设备作为此进程的控制终端
      • O_NDELAY非阻塞方式操作文件
    • mode表示:设置创建文件的权限。权限的宏定义很麻烦,可以直接用数
      字替代,例如0777;
    • 返回值:出错返回-1;否则返回文件句柄

创建文件creat

  • int creat(const char * pathname, mode_t mode);
    • 参数path表示:路径名或者文件名。路径名为绝对路径名。
    • 参数oflags表示:打开文件所采取的动作
      • O_RDONLY文件只读;O_WRONLY文件只写;O_RDWR文件可读可写

写文件write

  • 关闭文件close函数:
  • int close(int fd);
  • 写文件write函数:
  • ssize_t write(int fd, const void *buf, size_t count);
    • 参数fd表示:使用open 函数打开文件之后返回的句柄
    • 参数*buf表示:写入的数据
    • 参数count表示:最多写入字节数
    • ssize_t 是数据类型,在32位机器上等同与int,在64位机器上等同与long int
    • void perror(const char *str),输出错误信息,str – 这是 C 字符串,包含了一个自定义消息,将显示在原本的错误消息之前。

读文件read

  • ssize_t read(int fd,void *buf,size_t len);
    • 参数fd:使用open 函数打开文件之后返回的句柄
    • 参数*buf:读出的数据保存的位置
    • 参数len:每次最多读len 个字节
    • 返回值:错误返回-1,执行成功返回实际读取值

猜你喜欢

转载自blog.csdn.net/kakascx/article/details/82688631
今日推荐