/* setbuf関数で出力バッファをユーザバッファに指定した例 */
#include <stdio.h>
int main(void)
{
char buf[BUFSIZ];
long l;
/* 文字列を標準出力を使って出力 */
printf("ABCDEFGHIJKLMN");
/* 出力バッファをユーザバッファに指定 */
setbuf(stdout,buf);
/* 文字列をユーザバッファを使って出力 (処理系によっては直ちに出力)*/
printf("ABCDEFGHIJKLMN");
/* 出力しない。そのことを確認するために時間稼ぎの空ループ */
for (l=0; l<1000000000; l++);
/* fflushで初めて出力(処理系によっては'\n'で出力)*/
fflush(stdout);
return 0;
}
【実行結果】最初のA〜Nは即座に出力、次のA〜Nは空ループ終了後に出力(動作は処理系依存)ABCDEFGHIJKLMNABCDEFGHIJKLMN
▼戻る▼
「初心者のためのポイント学習C言語」 Copyright(c) 2000-2004 TOMOJI All Rights Reserved