- cstdio[meta header]
- std[meta namespace]
- function[meta id-type]
namespace std {
void setbuf(FILE* stream, char* buf);
}- FILE[link file.md]
ファイルストリームが使用する入出力バッファを設定する。
bufがヌルポインタでない場合はsetvbuf()(stream, buf, _IOFBF, BUFSIZ)と、ヌルポインタの場合はsetvbuf()(stream, nullptr, _IONBF, 0)と等価である。
なし。
設定に失敗したかどうかを知る必要がある場合は、setvbuf()を使用する。
- この関数は、ストリームを開いた後、入出力操作を行う前に呼び出さなければならない
bufとして渡す配列は、BUFSIZ個以上の要素をもち、ストリームを閉じるまで生存していなければならない
#include <cstdio>
int main()
{
char buffer[BUFSIZ];
std::FILE* fp = std::fopen("test.txt", "w");
// 独自に用意したバッファを使用する
std::setbuf(fp, buffer);
std::fputs("Hello", fp);
std::fclose(fp);
std::printf("done\n");
}- std::setbuf[color ff0000]
- std::fopen[link fopen.md]
- std::fclose[link fclose.md]
- std::fputs[link fputs.md]
- std::printf[link printf.md]
- std::FILE[link file.md]
- BUFSIZ[link bufsiz.md]
done