c++ - 如何仅在输入变量后而不是立即开始使用 getline?

标签 c++

int t;
cin>>t;
while(t--){

    string s;

    getline(cin,s);
    cout<<s.length()<<endl;
}

当我在输入 t 后运行程序时,当我在输入 t 后按回车键时,它会立即打印 0。 相反,我想要的是 t 然后开始 getline 输入。

最佳答案

cin.ignore 放在循环之前,然后重试。

如果流中有换行符,它将在那里停止读取。

关于c++ - 如何仅在输入变量后而不是立即开始使用 getline?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30703204/

相关文章:

c++ - 在 C++ 中强制执行语句顺序

C++ 可变参数——我使用它们的方式好还是不好?有好的选择吗?

C++需要从数组中找到符号

c++ - 是否可以将全局函数带入成员函数的重载决议中?

c++ - 内存管理

c++ - 错误 : Vector subscript out of range c++

c++ - 同时运行两个程序

c++ - VC++ 运行时错误 : Debug Assertation Failed

c++ - GCC 预处理器一次输出和编译,v2

c++ - 如何在 long 变量中保留小时、分钟、秒?