我第一次使用Visual C ++(也是该语言的新手) - 经验丰富的C#...所以我有了第一个在Visual Studio中启动的控制台应用程序。
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int i;
cin >> i;
return 0;
}
当我按下回车键时,控制台窗口 - 应用程序 - 怎么不关闭?没有其他输入 - 只需输入...
更重要的是,如果我点击回车,如何让应用程序退出(不想使用exit()
)?
答案 0 :(得分:2)
std :: cin等待你的一个非空字符串,然后尝试将此字符串转换为整数。
按Enter键时,std :: cin只获取一个空字符串并继续等待一些有效输入。这是设计的。 std :: cin不适用于模拟其他交互。
要在按键上终止应用程序,您必须使用特定于操作系统的工具来读取键盘按下。
这是DOS / console Windows上“conio.h”的kbhit()函数和POSIX系统上的termio函数。
从您的来源我可以得出结论您使用MSVC ++编译器,因此请尝试替换
std::cin >> i
通过
while(!kbhit()) {}
不要忘记添加
#include <conio.h>
并记住这是一个特定于Windows的解决方案。