当前位置:  技术问答>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也关联终端,是用来读取终端输入的,如果你向它写,显示在屏幕上又有何不可?就好像是你敲进去的一样,是一样的道理。 都说了这个行为是特殊的,你非要问为什么不如有空多读几行书学点关键的。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。














站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,