问题: 如果在getline 函数前 调用 cin 读取变量,则 getline会忽略一行?????
贴上代码:
片段一:
#include <string>
#include <iostream>
int main(int argc, char *argv[])
{
std::string str;
std::cin >> str;
std::cout << "str = " << str << std::endl;
std::string temp;
getline(std::cin, temp);
std::cout << "temp = " << temp << std::endl;
return 0;
}
操作: 从终端输入 ronnie , 回车
程序输出如下:
ronnie
str = ronnie
temp =
分析: 居然直接跳过了getline 的输入,注意:如果在getline前 调用了 std::cin 输入,则 getline会跳过一行