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;
}

随机推荐

  1. Redis_基本类型介绍和指令___3

    1.set(集合) Redis的Set是string类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O( ...

  2. 通过wifi调试Android程序

    原文:http://www.cnblogs.com/sunzhenxing19860608/archive/2011/07/14/2106492.html 1.首先让android手机监听指定的端口: ...

  3. jrae源代码解析(二)

    本文细述上文引出的RAECost和SoftmaxCost两个类. SoftmaxCost 我们已经知道.SoftmaxCost类在给定features和label的情况下(超參数给定),衡量给定权重( ...

  4. android访问asset目录下的资源

    android提供了AssetManager来访问asset目录下的资源, 在activity中通过getAssets()获取AssetManager 常用的api如下: 1.列举路径下的资源Stri ...

  5. NSMakeRange基础函数应用

    NSRange NSMakeRange ( NSUInteger loc, NSUInteger len ); 这是官方得接口描述.loc 为location缩写,len 表示长度.作用:在loc指定 ...

  6. phpmailer使用gmail SMTP的方法

    终于能够通过phpmailer使用gmail账号发送邮件了phpmailer(现在的版本是1.73)是一个很好用的工具,可以很方便的使用php语言发送邮件,支持smtp及验证,我们一直都用它. 但是, ...

  7. RFC 2616

    Network Working Group R. Fielding Request for Comments: 2616 UC Irvine Obsoletes: 2068 J. Gettys Cat ...

  8. 华为RH8100V3RAID 10配置

    a)华为RH8100V3RAID 10配置 1)开机按照提示按Ctrl+H键进入RAID卡WEBBIOS管理界面: 2)选中“Start”回车,进入RAID卡管理配置界面: 3)移动鼠标到 “conf ...

  9. A Swift Tour(3) - Functions and Closures

    Functions and Closures 使用func来声明函数,通过括号参数列表的方式来调用函数,用 --> 来分割函数的返回类型,参数名和类型,例如: func greet(name: ...

  10. ToString方法的不同格式总结

    ToString()参数: 12345.ToString("n"); 生成 12,345.00 12345.ToString("C"); 生成 ¥12,345. ...