C++ keypress:getch,cin.get?

Cap*_*rog 26 c++ keypress

我有一个循环运行的Win32程序.我希望能够在等待按键时暂停该程序.无论我使用"任何密钥"还是特定密钥都没关系,但我需要冻结程序直到我按下某个东西.

我想知道我应该使用哪个命令.我正在使用Visual C++,编译器无法识别以下任何命令:

cin.get()

std::cin.get()

getch()
Run Code Online (Sandbox Code Playgroud)

我对C++比较陌生.我理解在控制台应用程序中这是一个相当简单的操作(cin.get),但在Win32中它可能更难.任何简单的解决方案或解决方法将不胜感激.该程序定制用于单个科学实验,所以现在如果解决方案有点拙劣,我不会感到困惑(!)

如果我错过了我的问题中的任何重要信息,请道歉.

Arm*_*yan 70

你不应该使用.

你应该用

#include <iostream>
...
int main()
{
   ... 
   std::cin.ignore(); //why read something if you need to ignore it? :)
}'
Run Code Online (Sandbox Code Playgroud)

这是文档

  • 我喜欢这个,因为它是C++,而不是C,它不需要声明一些你永远不会使用的变量,而且你的意图很清楚. (5认同)
  • 顺便说一句,对我来说,这就像"按下进入退出",而不是"按任意键退出".即我可以按空格键或任何其他键,但在按下Enter键之前它不会执行任何操作.(一个C++ linux控制台应用程序.) (5认同)

小智 5

例子:

#include <iostream>
#include <conio.h>

int main()
{
  std::cout << "Press any key to continue . . ." << std::endl;
  _getch(); // wait for keypress
}
Run Code Online (Sandbox Code Playgroud)

_getch() C++ 等价于 C getch()