Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1298691
  • 博文数量: 548
  • 博客积分: 7597
  • 博客等级: 少将
  • 技术积分: 4224
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-15 13:21
个人简介

嵌入式软件工程师&&太极拳

文章分类

全部博文(548)

文章存档

2014年(10)

2013年(76)

2012年(175)

2011年(287)

2.c

分类: LINUX

2011-03-05 21:14:10

  1. #include <stdio.h>
  2. #include <string.h>

  3. #include <unistd.h>

  4. int r_write(int fd, char *buf, int len)
  5. {
  6.     int ret, w = 0;

  7.     while (len != 0)
  8.     {
  9.         ret = write(fd, buf, len);
  10.         if (ret == -1 && errno == EINTR)
  11.         {
  12.             continue;
  13.         }
  14.         if (ret == -1)
  15.         {
  16.             break;
  17.         }

  18.         w += ret;
  19.         len -= ret;
  20.         buf += ret;
  21.     }

  22.     return w;
  23. }

  24. int main(void)
  25. {
  26.     char str[] = "hello world\n";
  27.     int ret;
  28.     char buf[1024];

  29.     ret = r_write(1, str, sizeof(str));
  30. // printf("ret = %d\n", ret);


  31.     snprintf(buf, 1024, "ret = %d\n", ret);
  32.     write(1, buf, strlen(buf));

  33.     write(1, "", 1);

  34.     return 0;
  35. }
阅读(621) | 评论(0) | 转发(0) |
0

上一篇:1.c

下一篇:3.c

给主人留下些什么吧!~~