免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1717 | 回复: 8
打印 上一主题 下一主题

write()问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-25 15:45 |只看该作者 |倒序浏览
请问如何把:
write(1, &ch, 1);
写到标准输出的内容,重定向到我要的设备:/dev/ttyACM1上面?

论坛徽章:
0
2 [报告]
发表于 2008-03-25 15:51 |只看该作者
dup不行吗?

论坛徽章:
0
3 [报告]
发表于 2008-03-25 15:56 |只看该作者
原帖由 LF_532 于 2008-3-25 15:51 发表
dup不行吗?

不行啊,我现在就是搞明白为什么写到标准确输出

论坛徽章:
0
4 [报告]
发表于 2008-03-25 17:07 |只看该作者

回复 #3 welcome1998 的帖子

你试过吗?

我试了的可以,我把代码贴上去,你看一下是否跟你的需求相符。


  1. int main(void)
  2. 11 {
  3. 12     int fd;
  4. 13
  5. 14     fd = open("tmp", O_RDWR | O_CREAT, 0x777);
  6. 15
  7. 16     if(fd < 0)
  8. 17         perror("ERR");
  9. 18
  10. 19     if(dup2(fd, 1) < 0 )
  11. 20         perror("ERR");
  12. 21
  13. 22     if(write(1, "hello", 5) != 5)
  14. 23         perror("ERR");
  15. 24
  16. 25     close(fd);
  17. 26     return 0;
  18. 27 }

复制代码

[ 本帖最后由 LF_532 于 2008-3-25 17:08 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2008-03-25 17:24 |只看该作者
原帖由 LF_532 于 2008-3-25 17:07 发表
你试过吗?

我试了的可以,我把代码贴上去,你看一下是否跟你的需求相符。


int main(void)
11 {
12     int fd;
13
14     fd = open("tmp", O_RDWR | O_CREAT, 0x777);
15
16     if(fd ...

多谢多谢,我先前没有看清的意思

论坛徽章:
0
6 [报告]
发表于 2008-03-25 22:17 |只看该作者
原帖由 welcome1998 于 2008-3-25 15:45 发表
请问如何把:
write(1, &ch, 1);
写到标准输出的内容,重定向到我要的设备:/dev/ttyACM1上面?


int        fd;
fd = open ("/dev/ttyACM1", O_RDWR);
dup2(fd, STDOUT_FILENO);
write(1, &ch, 1);;

论坛徽章:
0
7 [报告]
发表于 2008-03-25 22:26 |只看该作者
楼上那句write没写对地方

论坛徽章:
0
8 [报告]
发表于 2008-03-26 14:27 |只看该作者
原帖由 It'sGifted 于 2008-3-25 22:17 发表


int        fd;
fd = open ("/dev/ttyACM1", O_RDWR);
dup2(fd, STDOUT_FILENO);
write(1, &ch, 1);;

请问高手:
pppd是如何让chat发送的AT command 重定向到想要的设备上的?
也是通过这种方法吗?:em11:

论坛徽章:
0
9 [报告]
发表于 2008-03-26 15:24 |只看该作者
是不是还可以利用pipe实现?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP