初学者又来了。

菜鸟又来了。。

C/C++ code


int main()
{
    char buf[] = "hello world\n";
    close(1);
    if(write(STDIN_FILENO,buf,12) != 12)
    {
    printf("write error!\n");
    exit(1);
    }
    return 0;
}

如代码所示,我关闭了标准输出,然后往标准输入写了一条信息,为什么运行时这条信息还是会打印出来,请大神们帮帮忙!!!


谁告诉你是在标准输出打印东西了,描述符1关联终端,所以写1就会显示在终端上。

描述符0也关联终端,是用来读取终端输入的,如果你向它写,显示在屏幕上又有何不可?就好像是你敲进去的一样,是一样的道理。 都说了这个行为是特殊的,你非要问为什么不如有空多读几行书学点关键的。

初学者又来了。

相关文章:

你感兴趣的文章:

标签云: