【发布时间】:2011-07-19 09:37:54
【问题描述】:
如何从我的 C++ 代码中的 shell 重定向中获取文件名?即 ./MyProgram
**编辑:我设法从文件中获取输入。谢谢您的帮助。但是,在循环文件内容之后,我想用 cin 保留用户输入。是这样的:
while (true)
{
if (cin.eof() == false)
{
getline(cin, line);
cout << line;
}else{
cin >> choice;
}
}
【问题讨论】:
-
如果标准输入是从文件中重定向的,那么在标准输入上获得EOF后就没有更多的输入可以读取了;这就是EOF的意思。如果你想从终端读取,那么你可能不想支持 I/O 重定向。
-
另外,您的问题基本上与现在的管道无关 - 请适当地重新命名。
-
你真的应该恢复你的编辑,澄清一个问题是好的,把问题改成完全不同的东西是不好的。我想说将您的新问题作为一个单独的问题提出,但它已经被回答了很多次。使用
while (cin.getline(line))。