首页 > 编程语言 > 详细

linux c++(IO & 第一篇)

时间:2021-05-03 14:36:56      阅读:15      评论:0      收藏:0      [点我收藏+]

文件IO

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
  • open
    • int open(const char *pathname, int flags);
    • int open(const char *pathname, int flags, mode_t mode);
    • fd:文件描述符 O_RDWR:模式 0666:若要创建文件就是文件创建的权限mode&~umask
    • int fd = open(argv[1],O_RDWR|O_CREAT,0666);
#include <unistd.h>
  • close
    • fd是文件描述符
    • int close(int fd);
#include <unistd.h>
  • read
    • 返回值为读取内容的大小 fd:文件描述符 buf:缓冲区 count:缓冲区大小
    • ssize_t read(int fd, void *buf, size_t count);
#include <unistd.h>
  • write
    • buf:内容 count:写入内容的大小
    • ssize_t write(int fd, const void *buf, size_t count);

总体示例

  #include <stdio.h>
  #include <sys/types.h>    
  #include <sys/stat.h>
  #include <fcntl.h>
  #include <unistd.h>
  #include <string.h>
  
  int main(int argc,char *argv[])
  {
      if(argc !=2)
      {   
          printf("err: ./app filename\n");
          return 0;
      }   
      int fd = open(argv[1],O_RDWR|O_CREAT,0666);
      char *str="xiaozhao";
      write(fd,str,strlen(str));
      //文件读写位置此时到末尾了
      lseek(fd,0,SEEK_SET);//移动文件指针到开头
      char buf[8]={0};
      int ret;
      do{ 
          ret = read(fd,buf,sizeof(buf));
          write(STDOUT_FILENO,buf,ret);
      }while(ret!=0);
      close(fd);
      
  }   

linux c++(IO & 第一篇)

原文:https://www.cnblogs.com/lodger47/p/14727218.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!