gpt4 book ai didi

C++ getline(cin, variable) 行为异常。网站上的解决方案没有帮助

转载 作者:行者123 更新时间:2023-11-28 01:50:42 25 4
gpt4 key购买 nike

我的代码相当简单。我有一个名为 promptUserInput 的方法,它在 UtilityFunctions.h 中定义;它在 UtilityFunctions.cpp 中实现。

我的主要方法包括 UtilityFunctions.h。我已经正确编写了我的 makefile,并且编译没有问题。

我的主要方法的第一行是:

string input = promptUserInput();

下面是 promptUserInput 函数的实际实现:

/* Prompts user to enter expression */
string promptUserInput()
{
string userInput;
cout << "> ";
getline(cin, userInput);

return userInput;
}

但是程序运行时,不显示>符号。相反,有一个空行等待用户输入。我输入了一些任意字符,按 Enter,随后出现了 > 符号。这些对我来说都没有意义。怎么回事?

最佳答案

std::cout使用缓冲输出,应该始终刷新。您可以使用 std::cout.flush() 来实现此目的或 std::cout << std::flush .

您还可以使用 std::cout << std::endl ,它会写一个换行符然后刷新,但换行符可能无法满足您的意图。

关于C++ getline(cin, variable) 行为异常。网站上的解决方案没有帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43129990/

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