目次
出力
ホームページ バックエンド開発 C++ Ctrl+Z を押しても一時停止しない C プログラム

Ctrl+Z を押しても一時停止しない C プログラム

Sep 19, 2023 pm 06:13 PM
Cプログラム 一時停止 ctrl z

Ctrl+Z を押しても一時停止しない C プログラム

プログラミングでは、プログラムが壊れて端末コンパイラで予期しない方法で実行された場合、プログラマはプログラムの実行を明示的に停止する権利を有します。プログラムを明示的に停止するには、ユーザーは押すための正しいキーボード ショートカットを知っている必要があります。

コード ブロックの実行を終了するには、2 種類のキーボード ショートカットを使用します。

  • Ctrl c - 入出力操作の完了に時間がかかり、実行を一時停止するプログラムの実行を停止するために使用されます。 SIGINT シグナルをプロセスに送信すると、プロセスが終了します。一部の言語では、この SIGINT は、C 言語と同様のシグナル関数を通じて処理できます。

  • Ctrl z - プログラムの実行を停止するために使用されます。プロセスに関連するすべてのタスクが閉じられ、実行が一時停止されます。 SINTSTP シグナルをプロセスに送信し、プログラムの実行を終了します。同じ方法で実装されていますが、この信号は他の信号よりも強力です。これでも対応可能です。

ここでは、ctrl z の呼び出しをバイパスできるコードを書きます。プログラムは一時停止される代わりに、「ctrl z ではこのコードを一時停止できません 」を出力します。

上で述べたように、C プログラミング言語は ctrl z への呼び出しを処理できます。プログラムのプロセスを終了するために SINTSTP シグナルが呼び出されるとき、このシグナルの役割を再定義して、使用時にコードを終了させずに行を出力するようにします。

signal() メソッドは、この種の処理に使用されます。

デモンストレーション

#include <stdio.h>
#include <signal.h>
void signalhandler(int sig_num){
   signal(SIGTSTP, signalhandler);
   printf("Cannot execute Ctrl+Z</p><p>");
}
int main(){
   int a = 1;
   signal(SIGTSTP, signalhandler);
   while(a){
   }
   return 0;
}
ログイン後にコピー

出力

// an infinite loop
ログイン後にコピー

以上がCtrl+Z を押しても一時停止しない C プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11で印刷を一時停止する方法 Windows 11で印刷を一時停止する方法 Feb 19, 2024 am 11:50 AM

間違って大きなファイルを印刷してしまったのでしょうか?インクと用紙を節約するために印刷を停止または一時停止する必要がありますか? Windows 11 デバイスで進行中の印刷ジョブを一時停止する必要がある状況は数多くあります。 Windows 11 で印刷を一時停止するにはどうすればよいですか? Windows 11 では、印刷を一時停止すると印刷ジョブは一時停止されますが、印刷タスクはキャンセルされません。これにより、ユーザーはより柔軟な制御が可能になります。これを行うには、次の 3 つの方法があります。 タスクバーを使用して印刷を一時停止する Windows の設定を使用して印刷を一時停止する コントロール パネルを使用して印刷する それでは、これらを詳しく見てみましょう。 1] タスクバーを使用して印刷する タスクバーの印刷キュー通知を右クリックします。クリックすると、アクティブなプリンター オプションがすべて開きます。ここで、印刷ジョブを右クリックし、「すべて一時停止」を選択します。

以下を中国語に翻訳してください: ローマ数字を 10 進数に変換する C プログラム 以下を中国語に翻訳してください: ローマ数字を 10 進数に変換する C プログラム Sep 05, 2023 pm 09:53 PM

以下に、ローマ数字を 10 進数に変換する C 言語アルゴリズムを示します。 アルゴリズム ステップ 1 - 開始 ステップ 2 - 実行時にローマ数字を読み取る ステップ 3 - 長さ: = strlen(roman) ステップ 4 - i=0 から長さ-1 の場合 ステップ4.1-switch(roman[i]) ステップ 4.1.1-case'm': &nbs

2 つの文字列の辞書編集上の順序を比較する C++ プログラム 2 つの文字列の辞書編集上の順序を比較する C++ プログラム Sep 04, 2023 pm 05:13 PM

辞書編集的な文字列比較とは、文字列が辞書順に比較されることを意味します。たとえば、「apple」と「appeal」という 2 つの文字列がある場合、「app」の最初の 3 文字が同じであるため、最初の文字列が最後に来ます。次に、最初の文字列の文字は「l」で、2 番目の文字列の 4 番目の文字は「e」になります。 「e」は「l」より短いため、辞書順に並べ替えると最初に表示されます。文字列は配置される前に辞書順に比較されます。この記事では、C++ を使用して 2 つの文字列を辞書編集的に比較するためのさまざまな手法を見ていきます。 C++ 文字列での Compare() 関数の使用 C++string オブジェクトには Compare() があります。

プリンターステータスの一時停止を解決する方法と操作ガイド プリンターステータスの一時停止を解決する方法と操作ガイド Dec 26, 2023 pm 03:07 PM

プリンターを使用してファイルを印刷するときに、プリンターの状態が一時停止状態になり、印刷を続行できない場合がありますが、このときはどうすれば元に戻せますか?実際には、印刷の一時停止を解除するだけで済みます。一時停止したプリンターの状態を復元する方法: 1. まず、右下隅の角のアイコンからプリンターの設定を開きます。 2. 開くと「一時停止中」と表示されます 3. このとき、左上の「プリンター」をクリックします 4. 「印刷一時停止」にチェックが入っている場合は、もう一度クリックしてチェックを外します5. チェックを外すと、一時停止状態が解除され、印刷を続行できるようになります。

リンクリストの長さを求めるCプログラム リンクリストの長さを求めるCプログラム Sep 07, 2023 pm 07:33 PM

リンク リストは動的なメモリ割り当てを使用します。つまり、リンク リストはそれに応じて拡大および縮小します。これらはノードのコレクションとして定義されます。ここで、ノードにはデータとリンクという 2 つの部分があります。データ、リンク、リンクリストの表現は以下のとおりです。 ・リンクリストの種類 リンクリストには以下の4種類があります。 ・シングルリンクリスト/シングルリンクリスト ダブル/ダブルリンクリスト 循環シングルリンクリスト 循環ダブルリンクリスト再帰的メソッドを使用してリンク リストの長さを確認します。ロジックは -intlength(node *temp){ if(temp==NULL) returnl; else{&n

C プログラムは rename() 関数を使用してファイル名を変更します C プログラムは rename() 関数を使用してファイル名を変更します Sep 21, 2023 pm 10:01 PM

名前変更機能は、ファイルまたはディレクトリを古い名前から新しい名前に変更します。この操作は移動操作と似ています。したがって、この名前変更機能を使用してファイルを移動することもできます。この関数は、stdio.h ライブラリ ヘッダー ファイルに存在します。 rename 関数の構文は次のとおりです: intrename(constchar*oldname,constchar*newname); rename() 関数は 2 つのパラメータを受け取ります。 1 つは古い名前、もう 1 つは新しい名前です。どちらのパラメータも、ファイルの古い名前と新しい名前を定義する定数文字へのポインタです。ファイルの名前が正常に変更された場合はゼロを返し、それ以外の場合はゼロ以外の整数を返します。名前変更操作中

指定された値を引数として受け取る逆双曲線正弦関数の値を見つける C++ プログラム 指定された値を引数として受け取る逆双曲線正弦関数の値を見つける C++ プログラム Sep 17, 2023 am 10:49 AM

双曲線関数は、円の代わりに双曲線を使用して定義され、通常の三角関数と同等です。ラジアン単位で指定された角度から双曲線正弦関数の比率パラメーターを返します。しかし、その逆、つまり別の言い方をすればいいのです。双曲線正弦から角度を計算したい場合は、双曲線逆正弦演算のような逆双曲線三角関数演算が必要です。このコースでは、C++ で双曲線逆サイン (asinh) 関数を使用し、ラジアン単位の双曲線サイン値を使用して角度を計算する方法を説明します。双曲線逆正弦演算は次の式に従います -$$\mathrm{sinh^{-1}x\:=\:In(x\:+\:\sqrt{x^2\:+\:1})}ここで\:In\:is\:自然対数\:(log_e\:k)

辞書を印刷する C++ プログラム 辞書を印刷する C++ プログラム Sep 11, 2023 am 10:33 AM

マップは C++ の特別なタイプのコンテナで、各要素は 2 つの値、つまりキー値とマップ値のペアです。キー値は各項目のインデックス付けに使用され、マップされた値はキーに関連付けられた値です。マップされた値が一意であるかどうかに関係なく、キーは常に一意です。 C++ でマップ要素を出力するには、反復子を使用する必要があります。項目のセット内の要素は、反復子オブジェクトによって示されます。イテレータは主に配列や他のタイプのコンテナ (ベクトルなど) で使用され、特定の範囲内の特定の要素を識別するために使用できる特定の操作セットを備えています。イテレータをインクリメントまたはデクリメントして、範囲またはコンテナ内に存在するさまざまな要素を参照できます。イテレータは、範囲内の特定の要素のメモリ位置を指します。イテレータを使用して C++ でマップを出力する まず、定義方法を見てみましょう。

See all articles