変換指定子
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/23 00:15 UTC 版)
指定子意味導入バージョンd,i 10進符号付き整数 全バージョン u 10進符号無し整数 全バージョン o 8進符号無し整数 全バージョン x,X 16進符号無し整数 全バージョン e,E 浮動小数点数 全バージョン f,F 浮動小数点数 全バージョン g,G 浮動小数点数 全バージョン a,A 浮動小数点数 C99以降 c 文字 全バージョン s 文字列 全バージョン p ポインタの値、対応する引数は void* になる。 全バージョン n 整数変数に出力済み文字数を格納 全バージョン % '%'の入力 全バージョン [...] [ ]内で囲まれた文字だけを取得し、それ以外の文字が現れた場所以降は入力を終了する(下記参照)。 全バージョン [ ] は例えば char str[256];scanf("%[abc]", str); というコードがあり、入力に "babaacdeabfghijabcef" という文字列が入った場合、str には "babaac" という文字列のみが入力され、残りの文字列は入力されずに終了する。strに代入されなかった、"deabfghijabcef"は入力ストリームに残る形となる。また[^ ... ]とした場合は逆に[ ]内の文字が入ってくるまで文字を読み込む。例えば、 char str[256];scanf("%[^abc]", str); という場合、"ghetbceajk"と入力すると、str には"ghet"が代入される。上記と同様に、入力されなかった文字列は入力ストリームに保持される。
※この「変換指定子」の解説は、「scanf」の解説の一部です。
「変換指定子」を含む「scanf」の記事については、「scanf」の概要を参照ください。
- 変換指定子のページへのリンク