gpt4 book ai didi

c++ - 为什么要在控制台的第二行输入?

转载 作者:行者123 更新时间:2023-11-28 05:10:56 25 4
gpt4 key购买 nike

enter image description here

为什么我应该在控制台的第二行输入一些东西?

int main() {
string s;
while (true) {
cout << "Input: ";
char a = getline(cin, s).get();
cout << a << endl;
}
return 0;
}

最佳答案

因为您从 std::cin 读取两次

std::getline函数返回流,然后您在需要您输入其他内容的流上调用 get

并且您显然只需输入一次是因为您实际上在第二次输入时输入了三个 个字符:'f', 'd' 和一个换行符。所以第一个 get 调用将读取 'f'。然后下一次迭代 getline 调用将读取 "d\n"get 调用将读取您编写的下一个输入,依此类推。

简单的解决方案?不要调用 get:

getline(cin, s);
cout << s << '\n';

关于c++ - 为什么要在控制台的第二行输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43518180/

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