[解決済み】C++プログラムでのコンソールの一時停止
2022-01-22 11:52:28
質問
C++プログラムでコンソールを一時停止するには、どの方法が一番良いですか?
-
使用
cin.get()
-
または
system("pause")
-
のようなCの関数を使用したり
getch()
またはgetchar()
?
を使用するのは本当ですか?
system("pause")
は、移植性のないコードになり、UNIXでは動作しないのですか?
コンソールを一時停止するには、cin.get()を使うのが良いのでしょうか?
どのように解決するのですか?
最適な方法があるかもしれません(ポータブルな
cin.get()
),
しかし
良い
方法は存在しない
. 自分の仕事を終えたプログラムは終了し、その資源をコンピュータに還元すべきなのです。
そして、そうです。
system()
は移植不可能なコードにつながります。パラメータはあなたのプロセスを所有するシェルに渡されるからです。
ソースコードに一時停止コードがあると、遅かれ早かれ面倒なことになります。
-
チェックイン前に一時停止コードを削除し忘れる人がいる
- これで、働いている仲間は皆、なぜアプリが閉じないのか不思議に思わなければならなくなりました。
- バージョン履歴が汚染される
-
#define
は地獄 - コンソールからあなたのコードを実行する人に迷惑がかかります。
- プログラムがシェルのパイプラインの一部である場合、プログラムが終了しなければ、シェルスクリプトやパイプラインも終了しないので、4倍厄介です。
代わりに、あなたのIDEを探ってみてください。おそらく、実行後にコンソールウィンドウを閉じないようにするオプションがあるはずです。そうでない場合は、常にコンソールウィンドウを近くに開いておくことが、お金を出す価値のある開発者であるあなたにとって大きな正当化理由となるのです。
あるいは、これをプログラムのオプションにすることもできますが、個人的には、オプションのあるプログラムを見たことがありません
--keep-alive-when-dead
.
物語のモラル これはユーザーの問題であり、プログラムの問題ではありません。コードを汚してはいけません。
関連
-
[解決済み】抽象クラス型の無効なnew-expression
-
[解決済み] なぜ、オブジェクトそのものではなく、ポインタを使用しなければならないのですか?
-
[解決済み] 1サイクルあたり4FLOPの理論上の最大値を達成するにはどうすればよいですか?
-
[解決済み] noexceptを本当に使うべきはいつですか?
-
[解決済み] C++の規格では、初期化されていないboolがプログラムをクラッシュさせることは可能ですか?
-
[解決済み] なぜこのプログラムは3つのC++コンパイラで誤って拒否されるのですか?
-
[解決済み] 些細なキーの場合、unordered_mapよりもmapを使用する利点はありますか?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
-
[解決済み】「span」とは何ですか、どんな時に使うのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エラーが発生する。ISO C++は型を持たない宣言を禁じています。
-
[解決済み】Cygwin Make bash コマンドが見つかりません。
-
[解決済み】浮動小数点例外エラーが発生する: 8
-
[解決済み】c++でstd::vectorを返すための効率的な方法
-
[解決済み】エラー:free(): 次のサイズが無効です(fast)。
-
[解決済み】C++ - 適切なデフォルトコンストラクタがない [重複]。
-
[解決済み] to_string は std のメンバーではない、と g++ が言っている (mingw)
-
[解決済み】変数やフィールドがvoid宣言されている
-
[解決済み】エラー。引数リストに一致するコンストラクタのインスタンスがない
-
[解決済み】c++で.txtファイルから2次元の配列に読み込む