当前位置: 技术问答>linux和unix
菜鸟又来了。。
来源: 互联网 发布时间:2017-03-14
本文导语: int main() { char buf[] = "hello worldn"; close(1); if(write(STDIN_FILENO,buf,12) != 12) { printf("write error!n"); exit(1); } return 0; } 如代码所示,我关闭了标准输出,然后往标准输入写了一条信息,为什么...
int main()
{
char buf[] = "hello worldn";
close(1);
if(write(STDIN_FILENO,buf,12) != 12)
{
printf("write error!n");
exit(1);
}
return 0;
}
如代码所示,我关闭了标准输出,然后往标准输入写了一条信息,为什么运行时这条信息还是会打印出来,请大神们帮帮忙!!!
|
谁告诉你是在标准输出打印东西了,描述符1关联终端,所以写1就会显示在终端上。
描述符0也关联终端,是用来读取终端输入的,如果你向它写,显示在屏幕上又有何不可?就好像是你敲进去的一样,是一样的道理。 都说了这个行为是特殊的,你非要问为什么不如有空多读几行书学点关键的。
描述符0也关联终端,是用来读取终端输入的,如果你向它写,显示在屏幕上又有何不可?就好像是你敲进去的一样,是一样的道理。 都说了这个行为是特殊的,你非要问为什么不如有空多读几行书学点关键的。
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。