QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 733|回复: 1

标准输出设备是不是显示器?

[复制链接]
发表于 2003-5-22 11:27:38 | 显示全部楼层 |阅读模式
我今天刚学写系统调用.用了一个read函数.
read(fipes[0],message,strlen(inbuf)+1);
puts(message);
结果显示是正确的.
[st1866@localhost st1866]$ gcc test.c
[st1866@localhost st1866]$ a.out
Only a test!
但改成
read(fipes[0],1,strlen(inbuf)+1);
或者read(fipes[0],stdout,strlen(inbuf)+1);
却没有任何显示.
[st1866@localhost st1866]$ a.out
[st1866@localhost st1866]$
直接超过了.
发表于 2003-5-22 16:24:49 | 显示全部楼层
你看看read的定义啊 在ansi中第二个参数是void *
posix中是char * 你传一个1或者stdout
相当于你要写到地址1里去 read失败了呗

还有 stdout是需要一个映射的设备 有时候映射到tty上 也有时候映射到串口
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-15 20:07 , Processed in 0.035989 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表