需要I / O重定向,并且我不能使用fstream。我通过I/O
运行可执行文件来使用"< input.txt"
重定向。在我的程序中,我使用while(cin>>line)
通过I/O
重定向读取文件。然后我需要cin>>x ,
,但是这次是在运行时供用户输入,但是被跳过了。
我已经尝试过cin.ignore, cin.clear().
如果将cin
用于I/O
重定向,是否可以将cin
用于同一程序中的用户输入?
/* Not sure if this is necessary but example of input file:
x y z
a b c
j k l
*/
string line;
while(cin>>line)
{
cout<<line<<endl;
}
//I've tried these 2 lines but cin>>x is still being skipped
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
cout<<"Enter number: ";
int x;
cin>>x;// this is being skipped
答案 0 :(得分:0)
我相信以下方法会有效(未试用):
string line;
while(cin>>line)
{
cout<<line<<endl;
}
cin.close ();
cin.open ("/dev/tty"); // (or, on Windows, cin.open ("CON:");
...