write() ,read();

int main1(int argc ,char *argv[])
{

  if(argc < 2 ) return 0;
  int fd = open(argv[1] , O_RDONLY);
  if(fd == -1)
  {
    printf("error is %s\n" , strerror(errno));
  }
  else
  {
    printf("fd = %d\n" ,fd);
    char buf[100];
    memset(buf , 0, 100);

    while(read(fd, buf, sizeof(buf)-1) > 0)//文件大的时候由于buf太小每次只读buf大小, sizeof(buf)-1表示每次不把buff读满留一个作为结尾防止最后一个字节乱码
    {
      printf("%s\n" , buf);
      memset(buf , 0, 100);//读完以后清空buf

    }

    

  }

  close(fd);

  return EXIT_SUCCESS;
}

int main(int argc ,char *argv[])
{
  char *s = {"abc.txt"};
  int fd = open(s, O_RDWR|O_APPEND);//以读写追加的方式

  if(fd == -1)
  {
    printf("error is %s\n" , strerror(errno));
  }
  else
  {
    printf("sucess fd = %d\n" ,fd);
    char buf[100];  
    memset(buf, 0,100);
    strcpy(buf,"hello world!\n");
    int i = write(fd, buf , strlen(buf));
  }

  close(fd);

return 0;
}

posted on 2015-03-10 17:10  后进后退  阅读(339)  评论(0编辑  收藏  举报