Visual c++ 为什么控制台应用程序没有';结束? 我第一次使用Visual C++(新的语言)——有经验的C……所以我有我的第一个控制台应用程序,我在VisualStudio中启动了。 #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int i; cin >> i; return 0; } #包括“stdafx.h” #包括 使用名称空间std; int _tmain(int argc,_TCHAR*argv[] { int i; cin>>i; 返回0; }
为什么控制台窗口(即应用程序)在我按enter键时不关闭?没有其他输入-只需输入Visual c++ 为什么控制台应用程序没有';结束? 我第一次使用Visual C++(新的语言)——有经验的C……所以我有我的第一个控制台应用程序,我在VisualStudio中启动了。 #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int i; cin >> i; return 0; } #包括“stdafx.h” #包括 使用名称空间std; int _tmain(int argc,_TCHAR*argv[] { int i; cin>>i; 返回0; },visual-c++,Visual C++,为什么控制台窗口(即应用程序)在我按enter键时不关闭?没有其他输入-只需输入 更重要的是,如果我只按enter键,如何使应用程序正确退出(不想使用exit())?std::cin等待您发送一个非空字符串,然后尝试将该字符串转换为整数 当您按下Enter std::cin时,只会获取一个空字符串并继续等待一些有效的输入。这是故意的。cin不是用来模拟其他交互的 要在按键时终止应用程序,您必须使用操作系统特定的工具来读取键盘按键 这是DOS/console窗口上“conio.h”中的kbhit(
更重要的是,如果我只按enter键,如何使应用程序正确退出(不想使用
exit()
)?std::cin等待您发送一个非空字符串,然后尝试将该字符串转换为整数
当您按下Enter std::cin时,只会获取一个空字符串并继续等待一些有效的输入。这是故意的。cin不是用来模拟其他交互的
要在按键时终止应用程序,您必须使用操作系统特定的工具来读取键盘按键
这是DOS/console窗口上“conio.h”中的kbhit()函数和POSIX系统上的termio函数
从您的源代码中,我可以得出结论,您使用的是MSVC++编译器,因此请尝试替换
std::cin >> i
借
不要忘记添加
#include <conio.h>
#包括
请记住,这是一个特定于Windows的解决方案。+1了解更多说明。我还发现我可以编写
cin.get(c)代码>并且我可以得到想要的结果。我也会查
,谢谢!是的,cin.get(c)读取任何字符(包括回车时生成的CR/LF),因此这也可以工作。说得好。
#include <conio.h>