stdin으로 리디렉션을 사용하여 명명 된 파이프를 통해 간헐적으로 보낸 데이터를 읽을 수 있습니까? 다른 터미널에서stdin으로 리디렉션을 사용하여 명명 된 파이프를 통해 간헐적으로 보낸 데이터를 읽을 수 있습니까?
$ mkfifo pipe
$ ./test < pipe
:
는 내가 뭘하고 싶은 것은 이것이다
$ cat datafile > pipe
$ cat datafile > pipe
파이프에 정보를 덤핑 반복. 이것은 처음으로 작동합니다. 무엇을
그래서int main(int argc, char *argv[]) {
char input_string[30];
while(1) {
while(cin.read(input_string, 30) || cin.gcount()!=0) {
cout << "!" << endl;
}
}
return 1;
}
일이야 :
다음 동작을 보여줍니다 테스트를위한 데모 프로그램입니까? 리다이렉션은 단일 전송 내용 만 파이프에 제공합니까? 필자는 파이프의 이름을 매개 변수로 사용하는이 프로덕션 코드의 버전을 작성했으며이 방법으로 작성하기 위해 열어 두었습니다. 아마도 그 대답 일 수 있습니다. 그러나 리디렉션을 통해이를 수행 할 수있는 방법이 있는지 궁금합니다.