😸

[C] setvbuf 関数

に公開

機能

入出力ストリームのバッファリング方法を設定する関数[1]

使用例

Buffering changed. と表示する

\n は改行を表す エスケープシーケンス[2]

コード

setvbuf(stdout, NULL, _IONBF, 0);
printf("Buffering changed.\n");
全文
#include <stdio.h>
void main() {
    setvbuf(stdout, NULL, _IONBF, 0);
    printf("Buffering changed.\n");
}

実行結果

Buffering changed.

Hello, world! を変数から表示する

コード

char msg[] = "Hello, world!";
setvbuf(stdout, NULL, _IOFBF, 1024);
printf("%s\n", msg);
全文
#include <stdio.h>
void main() {
    char msg[] = "Hello, world!";
    setvbuf(stdout, NULL, _IOFBF, 1024);
    printf("%s\n", msg);
}

実行結果

Hello, world!
脚注
  1. ファイルや標準入出力などのストリームが、データをどのようなタイミング・サイズで実際に読み書きするかを制御します。 ↩︎

  2. 改行やタブなど、画面に表示されない制御文字のこと。 ↩︎

Discussion