line)通过 I/O 读取文件重定向。然后我需要 cin>>x ,但这次是在运行时进行用户输入,但会被跳过。 我试过了 c-6ren">
gpt4 book ai didi

c++ - Cin 被跳过,cin.ignore 不工作

转载 作者:太空宇宙 更新时间:2023-11-04 12:34:44 28 4
gpt4 key购买 nike

需要 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

最佳答案

我相信以下会起作用(未经测试):

string line;
while(cin>>line)
{
cout<<line<<endl;
}

cin.close ();
cin.open ("/dev/tty"); // (or, on Windows, cin.open ("CON:");

...

关于c++ - Cin 被跳过,cin.ignore 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56918243/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com