この記事では、C++ でプログラムを一時停止するさまざまな方法について学習します。このメソッドまたは関数を使用すると、実行中に C++ プログラムを一時停止できます。
プログラムは、ユーザーが重要なデータを入力または読み取りたいときに一時停止するために使用されます。 Different Pause メソッドは、ユーザーがデータや指示を正しく読み、次のアクションを選択できるように、ある程度の時間を提供します。つまり、pause() メソッドにより、ソフトウェアがより読みやすく、使いやすくなります。
C++ は最も一般的で便利なプログラミング言語であるため、プログラムを一時停止するためのさまざまな方法と機能が提供されています。
以下は、C++ プログラムを一時停止するために使用されるいくつかのメソッドまたは関数のリストです。
<オール>pause() 関数
一時停止 () 関数は、現在実行中のプログラムを一時停止するために使用されるウィンドウ メソッドです。この方法はウィンドウ固有であり、Windows と DOS 以外のオペレーティング システムでは機能しません。
一時停止 () 操作が終了すると、残りのプログラムの実行が続行されます。
pause() メソッドは、ユーザーが Enter キーを押すまで、実行中のプログラムの実行を一時停止します。
一時停止メソッドの仕組み
ユーザーが一時停止メソッドを呼び出すと、プログラム コード全体が中断されます。次に、system () 関数がオペレーティング システムを呼び出します。シェルを開き、ライブラリ全体で一時停止メソッドを検索します。次に、リソースを割り当てて、pause() メソッドを実行します。次に、ユーザーの入力を待ち、操作が完了したらメモリを解放します。終了し、残りのプログラムを続行します。最後に、データを表示します。
構文
システム("一時停止")
利点:
pause() メソッドはシンプルでわかりやすい stnad() です。
欠点:
ポータブルではありません。
この方法は、Linux または MacOS では機能しません。
システム コールを作成し、余分なリソースをすべて処理します。
以下のコード例に示すように、pause () メソッドを使用して C++ アプリケーションを一時停止できます。
プログラム コード
1. //c++ program to pause program by pause() method
2. #include <iostream>
3. #include <cstdlib>
4. using namespace std;
5. int main()
6. {
7. for (int i=0; i<=10; i++)
8. {
9. cout << "i = " << i << endl;
10. if (i == 5) {
11. // Call the pause command
12. cout << "Program Is Paused\n";
13. system("pause");
14. cout << "pause program terminated\n";
15. cout << "Resuming program \n";
16. }
17. }
18. return 0;
19. }
出力:
i = 0
i = 1
i = 2
i = 3
i = 4
i = 5
Program Is Paused
pause program terminated
Resuming program
i = 6
i = 7
i = 8
i = 9
i = 10
説明
ここで、i の値が 5 になると、pause メソッドが呼び出されます。ユーザーが Enter キーを押してプログラムを終了すると、再開プログラムが実行されます。
さて、別の例を見てみましょう。
この例では、特定の期間 (ミリ秒) で一時停止されたプログラムがあります。
プログラム コード
1. #include <ctime>
2. #include <iostream>
3. void pause(int dur);
4. int main()
5. {
6. std::cout<<"Pausing for 5 second... \n";
7. pause(5);
8. std::cout<<". \n";
9. std::cout<<". \n";
10. std::cout<<". \n";
11. std::cout<<". \n";
12. std::cout<<". \n";
13. std::cout<<"DONE\n";
14. return 0;
15. }
16. void pause(int dur)
17. {
18. int temp = time(NULL) + dur;
19. while(temp > time(NULL));
20. }
出力:
Program is pausing for 5 second..
.
.
.
.
.
.
DONE
説明
ここでは、プログラムを 5 秒間一時停止するために、一時停止メソッドに 1 ミリ秒の期間を渡しています。ここでは、実行を続行するためにユーザーが Enter キーを押す必要はありません。
getchar ()
getchar () メソッドは、pause () メソッドと同様に、pause C++ プログラムで使用されます。
getchar() は C++ の組み込み関数です。これは get(stdin) 関数と同等です。 getchar () メソッドは、標準入力と標準出力から次の文字を読み取ります。
ユーザーが「ENTER」以外のキーを押すと、システムは一時停止します。 「ENTER」を押すと、入力された行の文字が受け入れられます。
この一時停止は終わりません。そのため、ユーザーは一時停止操作を実行する前にすべてのデータを読み取ることをお勧めします。
構文:
int getchar(void);
戻り値のタイプ:
この関数にはパラメーターがありません。
int 値を返します。
プログラム コード
1. //c++ program to pause program using getchar() method.
2. #include <iostream>
3. #include <vector>
4. #include <thread>
5. #include <chrono>
6. using std::cout;
7. using std::cin;
8. using std::endl;
9. using std::vector;
10. using std::copy;
11. using std::this_thread::sleep_for;
12. using namespace std::chrono_literals;
13. //driver code
14. int main()
15. {
16. int flag;
17. cout << "your program is paused!\n";
18. cout << "Press Enter to continue\n";
19. flag = getchar();
20. cout << "\nContinuing \n";
21. //make sleep program 200ms
22. sleep_for(200ms);
23. cout << "..........\n";
24. cout << "..........\n";
27. //this will print after 200ms or sleep period complete
28. cout << "\nProgram Completed!";
29. return EXIT_SUCCESS;
30. }
出力:
your program is paused!
Press Enter to continue
Continuing
..........
..........
Program Completed!
説明:
ここでは、プログラムを一時停止する getchar() メソッドを渡しています。ユーザーが「ENTER」キーを押すと、入力された行の文字が受け入れられます。スリープ期間が終了すると、リーミング プログラムの実行が開始されます。
getc()
getc() は、プログラムを一時停止するためにも使用されます。この関数は標準入出力ライブラリにあります。この関数は C ライブラリに属しています。
この関数は、ストリームから次の文字を読み取ります。
構文:
getc(FILE *ストリーム)
operation のストリーム タイプを識別するのは FILE オブジェクトのポインタです。ストリームには 3 つの標準ファイル ストリームが含まれます:
<オール>
stdin は、ユーザーのキーボードから取得した入力を取得するために使用されます。
ユーザーがプログラムの実行を継続するのを待たせます。
プログラム コード
1. //c++ program to pause program using getc() method.
2. #include <iostream>
3. #include <vector>
4. #include <thread>
5. #include <chrono>
6. using std::cout;
7. using std::cin;
8. using std::endl;
9. using std::vector;
10. using std::copy;
11. using std::this_thread::sleep_for;
12. using namespace std::chrono_literals;
13. //driver code
14. int main()
15. {
16. int flag;
17. cout << "your program is paused !\n";
18. cout << "Press Enter to continue\n";
19. flag = getc(stdin);
20. cout << "\nContinuing .";
21. //make sleep program 50ms
22. sleep_for(50ms);
23. cout << "..........";
24. //this will print after 50ms or sleep period complete
25. cout << "\nDone";
26. return EXIT_SUCCESS;
27. }
出力:
your program is paused !
Press Enter to continue
Continuing ...........
Done
説明
ここでは、引数として get(stdin) を一時停止プログラムに渡しています。コンソール入力に対応します。ユーザーが Enter キーを押すと getc() 関数がそれを受け入れ、スリープ期間全体にわたってプログラムを一時停止します。スリープ期間が完了すると、完了メッセージを出力します。