我想把每一行都添加到stdin中,但是我不能,因为a.t out不能从循环中退出。
c++代码:
#include <iostream>
int main() {
std::string in;
while(1){
std::cin >> in;
if(in == "exit")
break;
std::cout <<in << "n";
}
return 0;
}
和bash代码
#!/bin/bash
while read -r line
do
echo "$line" | ./a.out >> output.txt
done < "input.txt
谢谢!
您的c++部分工作完美。但是一旦它退出,您就再次执行while read -r line。尝试在"退出"之后进入EOF。线。