[解決済み] C++プログラムでのコンソールの一時停止
2022-03-13 10:42:59
質問
C++プログラムでコンソールを一時停止するには、どの方法が一番良いですか?
-
使用
cin.get()
-
または
system("pause")
-
のようなCの関数を使用したり
getch()
またはgetchar()
?
を使用するのは本当ですか?
system("pause")
は、移植性のないコードになり、UNIXでは動作しないのですか?
コンソールを一時停止するには、cin.get()を使うのが良いのでしょうか?
どのように解決するのですか?
最適な方法があるかもしれません(ポータブルな
cin.get()
),
しかし
良い
方法は存在しない
. 自分の仕事を終えたプログラムは終了し、そのリソースをコンピュータに返すべきです。
そして、そうです。
system()
は移植不可能なコードにつながります。パラメータはあなたのプロセスを所有するシェルに渡されるからです。
ソースコードに一時停止コードがあると、遅かれ早かれ面倒なことになります。
-
チェックイン前に一時停止コードを削除し忘れる人がいる
- これで、働いている仲間は皆、なぜアプリが閉じないのか不思議に思わなければならなくなりました。
- バージョン履歴が汚染される
-
#define
は地獄 - コンソールからあなたのコードを実行する人に迷惑がかかります。
- プログラムがシェルのパイプラインの一部である場合、プログラムが終了しなければ、シェルスクリプトやパイプラインも終了しないので、4倍厄介です。
代わりに、あなたのIDEを探ってみてください。おそらく、実行後にコンソールウィンドウを閉じないようにするオプションがあるはずです。そうでない場合は、常にコンソールウィンドウを近くに開いておくことが、お金を出す価値のある開発者であるあなたにとって大きな正当化理由となるのです。
あるいは、これをプログラムのオプションにすることもできますが、個人的には、オプションのあるプログラムを見たことがありません
--keep-alive-when-dead
.
物語のモラル これはユーザーの問題であり、プログラムの問題ではありません。コードを汚してはいけません。
関連
-
[解決済み】「corrupted size vs. prev_size」glibc エラーを理解する。
-
[解決済み] なぜ、オブジェクトそのものではなく、ポインタを使用しなければならないのですか?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】致命的なエラー LNK1169: ゲームプログラミングで1つ以上の多重定義されたシンボルが発見された
-
[解決済み】 != と =! の違いと例(C++の場合)
-
[解決済み】C++エラーです。"配列は中括弧で囲まれたイニシャライザーで初期化する必要がある"
-
[解決済み】C++の変数はイニシャライザーを持っているが、不完全な型?
-
[解決済み】fpermissiveフラグは何をするのですか?
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み】CMakeエラー at CMakeLists.txt:30 (project)。CMAKE_C_COMPILER が見つかりませんでした。
-
[解決済み】警告 - 符号付き整数式と符号なし整数式の比較
-
[解決済み】'std::cout'への未定義の参照
-
[解決済み】エラー。引数リストに一致するコンストラクタのインスタンスがない