- 整数変数の標準入力からの読み込み
標準入力(ユーザーがリダイレクトしなければ、キーボード)からの読み込み
には、scanf を用い、その書式は次の通りである。
書式 scanf("%d", &整数変数)
例
int a;
scanf("%d", &a);
例では、整数変数 a に標準入力から一個の整数を読み込む。
- scanf のエラー処理
scanf は、期待した形式(上の場合は整数)以外のものが入力された場合、
0 を返す。入力が正常に行われた場合は、読み込んだ個数(上の場合は1個)
を返す。従って、次の例の様に scanf の返り値を元に入力を検査できる。
int a;
if (scanf("%d",&a)!=1){
printf("Error!\n");
}else{
printf("正常入力\n");
}
- scanf での読みとりエラーと標準入力
scanf は入力エラーの場合は、標準入力にそのデータを返却する。
入力にデータを返すというと奇異に感じるが、実は、入力データは
一旦システムのある場所に貯められているので、その貯蔵庫に返却
するという意味である。従って、一旦入力エラーとなったデータを
捨てないと次のデータを読むことは出来ない。
そのために、scanf("%s",buf)
を用いる。
- 実行プログラムの名前を付ける
a.out 以外の名前を実行プログラムにつけるには、コンパイル時に以下の
ようにすれば良い。
$ cc -o 実行ファイル名 ソースファイル名
例
$ cc -o test test.c