HIR-NET Home
運営者
オンラインソフト
運営者著書
CG
HIR-NETリンク集
C言語辞典
getchar関数
getchar function
語源
get character(文字出力)
分類
C/C++標準ライブラリ/関数・マクロ/入出力関数/入力関数/文字入力関数
名称
端末文字入力関数(terminal character input function)
対義
putchar関数
同等
getwchar関数
類似
fputc関数, putc関数
解説
getchar関数は、文字を入力する関数(又は関数形式マクロ)です。実引数に stdin を持つ getc関数(又は getcマクロ)と等価です。
関数原型宣言ヘッダ
<stdio.h>
関数原型宣言例
実引数なし
↓
int getchar(void);
↓
0~UCHAR_MAX:入力文字
EOF :失敗
関数返却値
①入力した文字を返す。値としては 0~UCHAR_MAX(一般に 0~255)です。
②ストリームがファイルの終わりである場合は、ファイル終了指示子をストリームに設定し EOF(一般に -1)を返します。
③読込エラーが発生した場合はファイル・エラー指示子をストリームに設定し、EOF(一般に -1)を返します。
マクロ定義例
getchar関数が、マクロとして実現されている場合の例です。
#define getchar() getc(stdin)
関数定義例
getchar関数が、関数として実現されている場合の例です。
// getchar.c
#include <stdio.h> // stdin,getc
#undef getchar // マクロ定義取消
int getchar(void) // 端末文字入力関数
// GET CHARacter
// 0~UCHAR_MAX:入力文字
// EOF :入力失敗
{
return getc(stdin);
} // getchar
対話的な文字入力
標準入力ストリームから y
// getchar1.c
#include <stdio.h> // stdin,EOF,fflush,getchar,putchar,puts
#include <stdlib.h> // EXIT_SUCCESS
#include <ctype.h> // toupper
int main(void)
{
while(1)
{
int c;
putchar('>');
c=getchar();
fflush(stdin); // フラッシュ
if(c==EOF)break;
if(toupper(c)=='Y')puts("はい");
else puts("いいえ");
} // while
return EXIT_SUCCESS;
} // main
実行結果
>Y⏎
はい
>y⏎
はい
>n⏎
いいえ
>^Z⏎ …… [CTRL]+[Z]はEOFコード
を示す(処理系依存)
>>■
HIR-NET Home
運営者
オンラインソフト
運営者著書
CG
HIR-NETリンク集
◆リンクは、ご自由にお張りください。
Copyright © 1988-2017 Hirabayashi Masahide プライバシーポリシー