最終更新日時: 2025年07月24日 21時29分45秒 (JST)
rotarymars が更新

履歴 編集

macro
<cstdio>

# BUFSIZ

    #define BUFSIZ unspecified

## 概要

`setbuf()`関数で使われる標準入出力のバッファサイズを表すマクロ。

このマクロは、標準入出力関数で使用されるデフォルトのバッファサイズを定義する。値は実装依存であり、256バイト以上であることは保証されているが、一般的には512バイトや1024バイトなどの値が使用される。

## 例

    #include <cstdio>

    int main() {
      // BUFSIZの値を表示
      std::printf("BUFSIZ = %d\n", BUFSIZ);

      // バッファサイズを指定してファイルを開く
      char buffer[BUFSIZ];
      std::FILE* file = std::fopen("test.txt", "w");
      if (file) {
        // バッファを設定
        std::setbuf(file, buffer);
        std::fprintf(file, "Hello, World!\n");
        std::fclose(file);
      }

      return 0;
    }

### 出力例

    BUFSIZ = 1024

## 処理系

- Clang: ??
- GCC: ??
- Visual C++: ??