C LANGUAGE TECHNOLOGY

【C言語】標準入力stdinから値を読み込む方法

悩んでいる人

C言語の標準入力stdinから値を読み込む方法を教えて!

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

本記事の信頼性

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

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

標準入力stdin

C言語の標準入力stdinから読み込む値は以下になります.

  • 文字
  • 文字列
  • 数値(整数や浮動小数点数)

それぞれの方法を解説していきます.

標準入力から文字の読み込み

標準入力から文字を読み込む方法を紹介します.

getchar関数

getchar関数は,stdinから次の文字をunsigned char型として読み込み,int型にキャストして返します.

ファイルの終わりやエラーとなった場合はEOFを返します.

getchar関数を利用するコードは以下になります.

getchar関数で読み込んだ文字をputchar関数で出力しています.EOFを読み込んだら終了します.

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

3行目でabcを入力したら4行目でabcと出力されます.

EOFを入力したら実行を終了します.

getc関数

getc関数は,streamから文字を読み込むこと以外はgetcharと同じです.

つまり,getc(stdin)は,getchar()と同じです.

また,getc関数は, streamを複数回評価するマクロとして実装される可能性があります.

getc関数を利用するコードは以下になります.

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

fgetc関数

fgetc関数は,streamを複数回評価するマクロとして実装される可能性がないこと以外はgetc関数と同じです.

つまり,fgetc関数は,必ず関数として実装されます.

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

標準入力から文字列の読み込み

標準入力から文字列を読み込む方法は,こちらの記事に詳しく記載してあります.

C言語 gets関数
【C言語】gets関数が廃止された理由と代替関数

こういった悩みにお答えします. こういった私から学べます. 目次1 gets関数が廃止された理由2 gets関数の代替関数2.1 fgets関数2.2 getline関数2.3 gets_s関数2.4 ...

続きを見る

標準入力から数値(整数や浮動小数点数)の読み込み

標準入力から数値(整数や浮動小数点数)を読み込む方法を紹介します.

数値は書式指定子で取得します.また,文字や文字列も書式指定子で取得できます.

scanf関数

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

scanf関数を利用するコードは以下になります.

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

3行目の行末で整数の1,5行目の行末で浮動小数点数の3.14,7行目の行末で文字列のabcを入力したところ,次の行で正しく出力できていることがわかります.

fscanf関数

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

fscanf関数を利用するコードは以下になります.

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

まとめ

C言語の標準入力stdinで値を読み込む方法を紹介しました.

標準入力から文字,文字列,数値を読み込む方法をきちんと習得して使いこなしましょう!

標準出力と標準エラー出力の違いを知りたいあなたはこちらからどうぞ.

C言語 標準出力 標準エラー出力
【C言語】標準出力と標準エラー出力の違い

こういった悩みにお答えします. こういった私から学べます. 目次1 C言語の標準出力と標準エラー出力の違い1.1 3つの標準ファイルストリーム1.2 標準出力と標準エラー出力のコード2 ファイルストリ ...

続きを見る

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

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

友だち追加

独学が難しいあなたは,C言語を学べるおすすめのオンラインプログラミングスクール4社で自分に合うスクールを見つけましょう.

-C LANGUAGE, TECHNOLOGY
-, , , , , ,