Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c++;读取实际输入行_C++_Input - Fatal编程技术网

C++ c++;读取实际输入行

C++ c++;读取实际输入行,c++,input,C++,Input,我正在尝试从输入中获取字符串行。例如“这太棒了”。在所有情况下,我得到的要么是“这个”,要么是“很棒”。getline()方法未按预期工作。已尝试的代码: string val; while (true) { cout << message; getline(cin, val); if (val.length() <= length) { break; } } stringval; while(true){ 无法添加c

我正在尝试从输入中获取字符串行。例如“这太棒了”。在所有情况下,我得到的要么是“这个”,要么是“很棒”。getline()方法未按预期工作。已尝试的代码:

string val;

while (true) {
    cout << message;
    getline(cin, val);
    if (val.length() <= length)
    {
        break;
    }
}
stringval;
while(true){
无法添加
cin.clear();cin.sync();
解决问题

string val;

while (true) {
    cin.clear();
    cin.sync();
    cout << message;
    getline(cin, val);
    if (val.length() <= length)
    {
        break;
    }
}
stringval;
while(true){
cin.clear();
cin.sync();

cout
getline
cin>
不能很好地混合,因为它们处理新行字符的方式不同。关于这一点,有很多问题,我不确定该推荐哪一个,但例如和。谢谢,但链接中的解决方案不起作用。有趣的是,我在浪费时间做一些如此基本的事情,而不是这样按它应该的方式工作。目前还没有解决方案……首先,您使用
getline(cin,val)阅读一行;
,然后你用
cin>>val
用一个词覆盖
val
。这是建议,还是?请举例说明,这样我们可以重现这更像是把你的问题掩盖起来,而不是解决它,但无论什么都会使你的船漂浮。好吧,我已经描述了我的目标。你没有提供任何解决方案确切地说是什么?请在你的问题中提供一个答案(这是离题的,没有答案就会结束)。没有人可能知道你的程序片段在上下文之外做了什么。如果我猜对了,你在循环之前做了一些事情,在这种情况下,你在注释中不止一次提到了一个解决方案。请阅读它们。