Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

fflushで出力用バッファを吐き出させる

fflushはC言語用標準ライブラリstdio.hにある関数の一つです。
出力のバッファにたまったモノを吐き出させます。
必ずしも文字列であるとは限らずバイナリだったりする事もあるので注意。

実際のところ

#include <stdio.h>

#define HIGH 1
#define DI1 27
#define BUFSIZ 12

void printDigitalValue(int di, int val) {
	char buf[BUFSIZ]; //バッファを設定

	setbuf(stdout, buf); //標準出力のバッファを溜め込む。無効にしたいなら二番目をNULL

	if (val == HIGH) {
		printf("high\n");
	} else {
		printf("low\n");
	}

	fflush(stdout); //この時点で吐き出す
}