C LANGUAGE TECHNOLOGY

【C言語】scanfファミリー関数の使い方【scanf/fscanf/sscanf/vscanf/vsscanf/vfscanf関数】

悩んでいる人

C言語のscanfファミリー関数の使い方を教えて!

こういった悩みにお答えします.

本記事の信頼性

  • リアルタイムシステムの研究歴12年.
  • 東大教員の時に,英語でOSの授業.
  • 2012年9月~2013年8月にアメリカのノースカロライナ大学チャペルヒル校コンピュータサイエンス学部2021年の世界大学学術ランキングで20位)で客員研究員として勤務.C言語でリアルタイムLinuxの研究開発
  • プログラミング歴15年以上,習得している言語: C/C++Solidity/Vyper,Java,Python,Ruby,HTML/CSS/JS/PHP,MATLAB,Assembler (x64,ARM).
  • 東大教員の時に,C++言語で開発した「LLVMコンパイラの拡張」,C言語で開発した独自のリアルタイムOS「Mcube Kernel」GitHubにオープンソースとして公開

こういった私から学べます.

【C言語】scanfファミリー関数

scanfファミリー関数(scanf/fscanf/sscanf/vscanf/vsscanf/vfscanf関数)を紹介します.

scanfファミリー関数は,formatに従って入力を読み込みます.

この書式には「変換指定」(conversion specifications)を含めることができます.

変換指定があれば,その変換の結果はformatに続くポインタ引数が指す場所に格納されます.

それぞれのポインタ引数の型は,対応する変換指定が返す値に適合していなければなりません.

format中の変換指定の個数がポインタ引数の数より多かった場合の結果は未定義になります.

ポインタ引数の数が変換指定の個数よりも多かった場合,余分なポインタ引数の評価は行われますが,それ以外は行われず無視されます.

scanf関数は標準入力ストリームstdinからの入力を読み込みます.

fscanf関数はストリームポインタstreamからの入力を読み込みます.

sscanf関数は文字列ポインタstrで示された文字列からの入力を読み込みます.

vfscanf関数はvfprintf関数と同様に,ストリームポインタstreamからの入力をポインタの可変長引数リストを用いて読み込みます.

vscanf関数は,可変長引数のリストに基づき標準入力からの読み取りを行います.

vsscanf関数はそのリストに基づき文字列から読み取ります.

vscanf関数とvsscanf関数の関係は,vprintf関数とvsprintf関数の関係と同様です.

format文字列は,「命令」(directive)の列で構成されます(命令の詳細はこちら).

命令は入力文字の系列をどのように処理するかを指示するものです.

ある命令の処理が失敗すると,入力はそれ以上読み込まれず,scanf関数は返ります.

scanfファミリー関数の使い方

scanfファミリー関数の使い方は以下になります.

実行結果は以下になります.

まとめ

C言語のscanfファミリー関数の使い方を紹介しました.

scanfファミリー関数は少しクセがあって使い方が難しいので,参考にして下さい.

printfファミリー関数を知りたいあなたはこちらからどうぞ.

C言語 printfファミリー関数
【C言語】printfファミリー関数の使い方【printf/fprintf/dprintf/sprintf/snprintf/vprintf/vfprintf/vdprintf/vsprintf/vsnprintf関数】

こういった悩みにお答えします. こういった私から学べます. 目次1 【C言語】printfファミリー関数2 printfファミリー関数の使い方3 まとめ 【C言語】printfファミリー関数 [cra ...

続きを見る

scanf関数の自作「myscanf関数」を知りたいあなたはこちらからどうぞ.

C言語 scanf関数 自作
【C言語】scanf関数の自作「myscanf関数」

こういった悩みにお答えします. こういった私から学べます. 目次1 C言語でscanf関数の自作「myscanf関数」2 scanf関数の自作「myscanf関数」の作成ルール3 myscanf関数の ...

続きを見る

C言語を独学で習得することは難しいです.

私にC言語の無料相談をしたいあなたは,公式LINE「ChishiroのC言語」の友だち追加をお願い致します.

私のキャパシティもあり,一定数に達したら終了しますので,今すぐ追加しましょう!

友だち追加

独学が難しいあなたは,元東大教員がおすすめするC言語を学べるオンラインプログラミングスクール5社で自分に合うスクールを見つけましょう.後悔はさせません!

-C LANGUAGE, TECHNOLOGY