У меня есть эта программа:
#include <stdio.h>
int main() {
char buf[10];
puts("gimme input:");
fread(buf, 1, 10, stdin);
printf("got %s", buf);
}
Когда я запускаю это и открываю другой терминал, я пытаюсь написать в стандартный ввод:
echo "ASDFASDFASDF" > /proc/{pid}/0
ASDFSADFSADF печатается на терминале, на котором запущена моя C-программа, но fread по-прежнему не возвращается, пока я не наберу текст на самом терминале. Он также не печатает текст, который я написал в / proc / {pid} / 0
Что еще мне нужно сделать, чтобы программно вводить текст в stdin?