\r\n\r\n
関数は、特定のタスクを実行するステートメントの集合体です。プログラミングでは、ユーザーが自分で関数を定義することも、プログラミング言語が提供する関数を使うこともできる。C言語には多くの関数があるので、プログラマーは最初から関数を実装しなくても、コーディングの中で直接関数を使うことができる。文字読みに関連する機能はほとんどない。getcとgetcharの主な違いは、getcが入力ストリーム(ファイルや標準入力など)から文字を読み込むのに使われるのに対して、getcharは標準入力から文字を読み込むのに使われることです。この記事では、この2つの機能の違いについて説明します。
1. 概要と主な相違点 2. getcとは 3. getcharとは 4. getcとgetcharの類似点 5. 横並び比較 - 表形式でのgetcとgetchar 6. まとめ
入力ストリーム(ファイルやキーボードなど)から文字を読み取る機能である。getcは,intgetc (File*stream) という構文である。以下の例を参照してください。test.txtはプロジェクトディレクトリにあるプレーンテキストファイルだと仮定します。このファイルには、"a "と "b "の2つの文字があります。
図01:getcによるファイルの文字読み込み
上記のプログラムによると、テストファイルはリードモードで開かれます。次にgetc関数で1文字目を読み、変数c1に格納します。printf文はc1を出力します。 次に2文字目を読み、変数c2に格納します。printf文はc2を出力します。したがって、getc関数はストリーム(ファイルなど)から文字を読み取るために使用されます。
図02:getcとloopを使ってファイルから文字を読み取る。
ループで使用すると、上記のファイル終端(EOF)に達するまで、すべての文字を一度に読み取ることができます。の2つの文字テスト.txtファイルが画面に表示されます。
getchar()は、標準入力から文字を読み取る場合のみに使用します。エンターキーが押され、読み取り値が画面に表示されるまで待ちます。構文はintgetchar(void)に似ています。
getchar関数はgetcのようなパラメータを必要としません。デフォルトでは、標準入力にgetcharが使用されます。したがって、getchar関数に引数を渡す必要はありません。以下の例を参照してください。
図03:getchar
ユーザーが入力文字を与えると、画面に表示され、エンターキーが押されるまで待機します。Enterキーの後、printf関数のおかげで出力が画面に表示されます。
同じgetchar関数は、以下のようにgetc関数を用いて実現することができます。
図04:getcのgetchar関数の使い方
上記のプログラムによると、文字を読み取るためにgetc関数が使用されています。getcはstdinに対して、標準入力、すなわちキーボードからの入力であることを主張する。ユーザーは文字を入力し、エンターキーを押すことができます。そして、その文字はprintf関数を使って画面に出力される。
ゲットアンドゲット | |
getcは、入力ストリーム(ファイルストリームや標準入力など)から文字を読み取るC関数です。 | getcharは、標準入力ストリーム(stdin)から文字だけを読み込むC関数です(stdinはキーボード)。 |
文法 | |
getcの構文はintgetc(File*stream)に似ています。 | getchar (getcharの構文はgetvoidに似ています)。 |
C言語には多くの関数が用意されています。プログラマーは、これらの機能を最初から使うことなく、利用することができます。getcとgetcharの違いは、getcは入力ストリーム(ファイルや標準入力など)から文字を読み込むのに使われ、getcharは標準入力から文字を読み込むのに使われることである。どちらも文字を読み取るためのものですが、機能が異なります。
本記事のPDF版をダウンロードし、オフラインで使用する場合は、引用の指示に従ってください。PDF版はこちらからダウンロードしてください getcとgetcharの違い