ループで実行されるWin32プログラムがあります。キーを押している間、そのプログラムを一時停止できるようにしたいと思います。 「任意のキー」または特定のキーを使用するかどうかは関係ありませんが、何かを押すまでプログラムをフリーズさせる必要があります。
どのコマンドを使用すべきか疑問に思っています。 Visual C++を使用していますが、コンパイラは次のコマンドを認識しません。
cin.get()
std::cin.get()
getch()
私はC++に比較的慣れていません。コンソールアプリでは、これは実行するのはかなり単純なアクション(cin.get)ですが、Win32ではより困難になる可能性があることを理解しています。簡単な解決策または回避策をいただければ幸いです。このプログラムは、単一の科学実験で使用されるように作られているため、今のところ、解決策が少しおかしくても大騒ぎしません(!)
質問から重要な情報を見逃してしまった場合はおApび申し上げます。
どちらも使用しないでください。
あなたが使用する必要があります
#include <iostream>
...
int main()
{
...
std::cin.ignore(); //why read something if you need to ignore it? :)
}'
例:
_#include <iostream>
#include <conio.h>
int main()
{
std::cout << "Press any key to continue . . ." << std::endl;
_getch(); // wait for keypress
}
_
_getch()
は、C getch()
と同等のC++です。
お試しください
#include <iostream>
using namespace std;
char temp;
cin >> temp;
Getchの代替手段(画面にエコーしない)を探していると仮定します。
正確にウィンドウとビジュアルスタジオを使用している場合は、_getchを使用してみてください。ここにリンクがあります http://msdn.Microsoft.com/en-us/library/078sfkak(v = VS.100).aspx
_#include <iostream>
_を使用し、std::cin.get();
を使用する必要があります
getch()
はC関数だと思いますが、C++を使用しているため、cin
の方が適切です。