Escrevendo para stdin e lendo a partir de stdout (Programação UNIX / LINUX / C)
Eu estava trabalhando em uma tarefa em que um programa pegou um descritor de arquivo como argumento (geralmente do pai em uma chamada executiva) e leu um arquivo e escreveu para um descritor de arquivos. Em meus testes, percebi que o programa iria trabalhe na linha de comando e não dê erro se eu usei 0, 1 ou 2 como descritor de arquivo. Isso fez sentido para mim, exceto que eu poderia escrever para stdin e exibi-lo na tel
Há uma explicação para isso? Eu sempre pensei que havia alguma proteção no stdin / stdout e você certamente não pode imprimir em stdin ou fgets no stdou
#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;
}