让我们假设这是我正在运行的代码:
int main(int argc, char **argv) {
bool running = true;
string lineInput;
while (running)
{
while (cin >> lineInput)
{
cout << lineInput;
}
}
return 0;
}
我希望发生的是我可以通过输入“./myProgram”来调用终端启动程序。这部分是相当直接的。我不确定该怎么做的部分是为了让我可以在以后的某个时间点输入echo "some text to echo" | myProgram
并能够让我的程序将该文本打印回终端。
现在我只能在输入时才能使它工作:
echo "blah blah blah" | ./myProgram
所以我的目标是分两个步骤。一个是我开始我的程序,另一个是我管道输入使用
答案 0 :(得分:1)
我想你可以用命名管道做到这一点。
mkfifo mypipe
./myProgram < mypipe &
cat file1.txt file2.txt file3.txt > mypipe
答案 1 :(得分:0)
您可以使用mkfifo
,只需从普通文件中读取该程序中的内容即可。
还有
pipe
或socket_pair
(双向)