C++程序(XCode)在我进入控制台之前无法运行
C++ program (XCode) not running until I enter something into console
我正在为一个类编写一个基于文本的游戏,在这个问题之前,我运行了大部分游戏并工作了它。
我今天打开它并尝试构建/运行它,它已成功构建并且似乎正在运行,但是一些第一行代码是输出到控制台的,直到我在控制台中输入一些内容之前它们才会发生,这在提示打印之前应该是不必要的:
这是我的主要内容的开始:
int main() {
string name;
cout << fixed << setprecision(2) << "What's your name? ";
cin >> name;
cin.ignore(INT_MAX, 'n');...
这是输出(在我输入帮助之前什么都没有?并按回车键)
HELP?
What's your name?
===========================================================
| Welcome, HELP?! |
===========================================================
而在今天之前,当我运行它时,它会输出"你叫什么名字?",此时我会输入我的名字,然后它会打印欢迎。
我觉得它一定是简单的事情,因为它对我来说看起来如此黑白分明:为什么它会等待任何输入,而本质上我要求它做的第一件事就是将一些东西输出到控制台?即使我把 cout 语句作为第一件事,它也可以通过这种方式工作。这是XCode问题吗?
注意:它也像这样对待文件中的每个 cin 的输入,在我输入内容之前不会打印问题和提示。
在 C++ 中写入std::ostream
时,必须先刷新缓冲区,然后才能将任何内容实际打印到控制台。您可以使用std::endl
或std::flush
执行此操作。
请参阅此处的std::ostream
参考。
例:
#include <iostream>
#include <string>
int main() {
std::string s;
std::cout << "Flushed with a line break." << std::endl;
std::cin >> s;
std::cout << "Flushed with no line break." << std::flush;
std::cin >> s;
return 0;
}
相关文章:
- SSH通过/sbin/SSH无法读取RSA密钥文件(从控制台运行)
- 在Qt Creator中,如何在连接到正在运行的进程后查看控制台输出
- C++程序不会从 Windows 控制台运行
- 控制台在运行C ++程序后立即关闭(无需调试)
- 如何在 c++ 程序运行时隐藏控制台?
- 将 Visual C++ 6 控制台应用程序作为 Windows 服务运行
- 如何在 Linux/Apache 虚拟主机上运行 win32 控制台应用程序?
- 如何在关闭Qt控制台应用程序之前运行我的析构函数?
- Windows7+:如何构建不需要任何额外/外部运行时库的C++ Windows 控制台应用程序?
- 如何将控制台输出的文本颜色更改为红色,但如果从Powershell或CMD运行,背景将保持相同的颜色
- 如何在运行时打开控制台 [C++/Visual Studio]
- 嵌入批处理脚本文件并在C 控制台项目中运行
- 从 WebAPI 项目运行静态类时出现 StackOverflow 异常 - 从控制台应用程序运行时工作正常
- C++ 中控制台代码运行时的分段错误
- C++程序(XCode)在我进入控制台之前无法运行
- 在已经运行的C 控制台应用程序上实现QT GUI
- 您如何编译C 控制台程序以作为Android流程运行
- 如何在运行控制台时更改文本
- 在运行QT4程序时抑制控制台窗口
- C 从控制台运行功能