如何從我的C++代碼中的shell重定向獲取文件名?即./MyProgram < myfile,我希望將myfile作爲文件名及其內容逐行顯示。如何處理Unix管道
**編輯:我設法從文件中獲得輸入。謝謝您的幫助。但是,在循環遍歷文件內容之後,我想保留用戶輸入的cin。就像這樣:
while (true)
{
if (cin.eof() == false)
{
getline(cin, line);
cout << line;
}else{
cin >> choice;
}
}
如果標準輸入從文件重定向,也沒有更多的投入到閱讀後你的標準輸入得到EOF;這就是EOF的含義。如果你想從終端讀取,那麼你可能不想支持I/O重定向。 – 2011-03-21 04:01:20
另外,您的問題基本上與管道無關 - 請妥善修改。 – 2011-03-21 04:03:01
你真的應該恢復你的編輯,澄清一個問題是好的,改變一個完全不同的問題是不好的。我想問你的新問題作爲一個單獨的問題,但它已經被回答了很多次。使用'while(cin.getline(line))'。 – 2011-03-21 05:00:11