/* 2度目以降の%c指定を正常に行う(使用できるかどうかは各自確認してください) */
#include <stdio.h>
int main(void)
{
char a;
printf("文字の入力 ");
scanf("%c",&a);
/* fflushを省くと、2回目以降の文字入力が正常に行われません。*/
printf("文字の入力 ");
fflush(stdin);
scanf("%c",&a);
return 0;
}
【実行結果】
2度続けて文字入力ができる【使用例2】
/* setbuf関数で出力バッファをユーザバッファに指定した例 (処理系依存)*/
#include <stdio.h>
int main(void)
{
char buf[BUFSIZ];
long l;
/* 出力バッファをユーザバッファに指定 */
setbuf(stdout,buf);
/* 文字列をユーザバッファを使って出力 */
printf("ABCDEFGHIJKLMN");
/* 出力しない。そのことを確認するために時間稼ぎの空ループ */
for (l=0; l<1000000000; l++);
/* fflushで初めて出力 */
fflush(stdout);
return 0;
}
【実行結果】
ABCDEFGHIJKLMN ※しばらくたった後出力
| ストリームポインタ | 機能 | デバイス |
|---|---|---|
| stdin | 標準入力 | 通常はキーボード |
| stdout | 標準出力 | 通常はスクリーン |
| stderr | 標準エラー出力 | 通常はスクリーン |
| stdaux(処理系依存) | 標準補助入出力 | 補助入出力ポート |
| stdprn(処理系依存) | 標準プリンタ出力 | プリンタ |
▼戻る▼
「初心者のためのポイント学習C言語」 Copyright(c) 2000-2004 TOMOJI All Rights Reserved