C++ getline(cin,变量)行为不端.网站上没有任何解决方案有帮助
C++ getline(cin, variable) is misbehaving. No solutions on the site have helped
我的代码相当简单。我有一个名为 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++映射有2个键,这样任何1个键都可以用来获取值
- C++模板函数,用于比较任何无符号整数和有符号整数
- 是否有任何C++功能可以对地图进行排序?
- C++ getline(cin,变量)行为不端.网站上没有任何解决方案有帮助
- 对理解C++代码的流执行稍有帮助
- 在C 中解析二进制消息.任何有示例的lib
- 怪异的输出:为什么这段代码会给出任何有意义的输出,更不用说这个了
- 是“警告 C4127”(条件表达式是常量)曾经有帮助
- 尝试区块对于"zero-cost"堆栈平仓策略是否必要甚至有帮助?
- 为什么内联模板专业化有帮助?我应该这样做吗
- C++ 将多头、空头和所有整数转换为uint32_t、int32_t等是否有帮助
- 在下面的例子中,如何在C++中使用智能指针有帮助
- std::chrono中是否有帮助注入system_clock进行单元测试的设施
- 静态关键字在这里有帮助吗?
- 我已经寻找了MPI函数Scatterv的实现,但是我发现了任何可以帮助我编写自己的函数的东西
- 使用ZeroMQ构建点对点工作负载调度器是否有帮助?
- 迷宫表示有帮助
- 将任何有符号char类型转换为无符号char类型
- c++指针有帮助
- 为什么没有提升::任何有"getter"?