C#では、文字が入力されるのをコンソールに待機させることができます(これは、プログラムが終了する前にコンソールの最後の出力を確認できるのに役立ちます)。 C++の初心者として、私は同等のものが何であるかよくわかりません。あるの?
最も簡単な方法は単純です:
std::cin.get();
その前に「続行するには任意のキーを押してください...」のようなものを印刷できます。一部の人々はあなたについて教えてくれます
system("pause");
しかし、使用しないでください。ポータブルではありません。
_#include <stdio.h>
// ...
getchar();
_
この関数は、1回のキー入力を待機し、その(整数)値を返します。
たとえば、System("pause")
と同じ機能を持っていますが、 "pause.exe"(潜在的なセキュリティ全体であるbtw)は必要ありません:
_void pause()
{
std::cout << std::endl << "Press any key to continue...";
getchar();
}
_
標準には何もありませんし、クロスプラットフォームにも何もありません。通常の方法は、<Enter>が押されるのを待ってから、結果を破棄することです。
間違った解決策は、system("pause")
を使用することです。これにより、セキュリティホール(ディレクトリ内の悪意のあるpause.exe!)が作成され、プラットフォームに依存しません(一時停止はWindows/DOSにのみ存在します)。
より簡単な解決策があります。
_void myPause() {
printf("Press any key to continue . . .");
getchar();
}
_
これは、POSIX準拠のgetchar()
を使用します( this を参照)。この関数は次のように使用できます。
_int main() {
...
myPause();
}
_
これにより、コンソールが点滅して終了するのを効果的に防ぎます。