14.2.12 Input Conversion Syntax

Last-modified: 2025-03-23 (日) 19:24:29

14.2.12 入力変換構文

テンプレートscanf文字列は、通常のマルチバイト文字と、'で始まる変換指定が散在する文字列です。%'。

テンプレート内の空白文字は、入力ストリーム内の任意の数の空白文字を読み取り、破棄します。一致する空白文字は、テンプレート文字列に現れる空白文字とまったく同じである必要はありません。たとえば、次のように記述します。、テンプレートに「 ' 」と入力すると、前後にオプションの空白があるコンマが認識されます。

変換仕様の一部ではないテンプレート文字列内のその他の文字は、入力ストリーム内の文字と完全に一致する必要があります。そうでない場合は、一致エラーが発生します。

テンプレート文字列内の変換仕様のscanf一般的な形式は次のとおりです。

% flags width type conversion

より詳しくは、入力変換仕様は、最初の「%' 文字の後に次の文字が続きます:

オプションのフラグ文字'*' は、この仕様で読み取られたテキストを無視することを示します。scanfがこのフラグを使用する変換仕様を見つけると、変換仕様の残りの部分で指示されたとおりに入力を読み取りますが、この入力は破棄され、値は返されず、成功した割り当ての数は増加しません。
最大フィールド幅を指定するオプションの 10 進整数。この最大値に達するか、一致しない文字が見つかるかのいずれか早い方で、入力ストリームからの文字の読み取りが停止します。ほとんどの変換では先頭の空白文字が破棄され、破棄されたこれらの文字は最大フィールド幅にカウントされません。先頭の空白を破棄しない変換については、明示的に文書化されています。
オプションの型修飾文字。この文字は Octave のscanf関数では無視されますが、C 言語との互換性を提供するために認識されますscanf。
適用する変換を指定する文字。
許可される正確なオプションとその解釈方法は、さまざまな変換指定子によって異なります。許可される特定のオプションの詳細については、 「入力変換の表」の個々の変換の説明を参照してください。