C言語入門講座。関数、サンプル集を参考にして、 C言語をマスターしよう。初心者から上級者まで。

標準入力ストリーム(stdin)から1文字入力する

2012.08.10

getchar関数は、標準入力ストリーム(stdin)から1文字分文字を読み取ります。

なお、getc(stdin)と同義です。

#include <stdio.h>
int getchar(void);

戻り値として、

成功時は、読み取った文字の文字コードが返ります。

失敗時は、EOFを返します。

プログラム 例

#include <stdio.h>
int main(void) {
    int i;
    int ch;
    char read_str[100 + 1] = {''};

    printf('入力文字列=');

    /* 先頭の文字のみ読み取る */
    ch = getchar();
    printf('先頭 = %cn', (char)ch);

    i = 0;
    /* 入力された文字を残りすべて読み取る */
    while ( (i < 100 - 1) && (ch != EOF && ch != LF) ) {
        ch = getchar();
        read_str[i] = (char)ch;
        i++;
    }
    printf('先頭以外 = %sn', read_str);

    return 0;
}

例の実行結果('abc'と入力しEnterを押下した場合)

> getchar.exe
入力文字列=abc
先頭 = a
先頭以外 = bc

※Windows環境でのみ動作確認しております。LINUX環境などでは動作が異なる場合がありますので、その場合は環境に合わせてカスタマイズしてください。

Copyright © 2011 katsumi Handa All Rights Reserved.

関連記事