相关疑难解决方法(0)

写入stdin并从stdout读取(UNIX/LINUX/C编程)

我工作的分配,其中一个程序把文件描述符作为参数(一般在exec调用父),并从文件中读取和写入文件的描述符,并在我的测试中,我意识到,程序会工作从命令行开始,如果我使用0,1或2作为文件描述符,则不会出错.这对我来说很有意义,除了我可以写入stdin并让它显示在屏幕上.

对此有解释吗?我一直认为在stdin/stdout上有一些保护,你当然不能从stdout到stdin或fgetsf.

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
int main()
{
    char message[20];
    read(STDOUT_FILENO, message, 20);
    write(STDIN_FILENO, message, 20);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c unix stdin stdout read-write

15
推荐指数
2
解决办法
4万
查看次数

标签 统计

c ×1

read-write ×1

stdin ×1

stdout ×1

unix ×1