最終更新日時: 2026年03月23日 10時25分18秒 (JST)
rotarymars が更新

履歴 編集

type-alias
<cstdio>

# std::fpos_t

    namespace std {
      using fpos_t = object-type;
    }

## 概要

ファイルの位置を保持するための型。

`fgetpos()`関数や`fsetpos()`関数で用いられる。これらの関数は`fseek()`関数や`ftell()`関数と違い、巨大なファイルやマルチバイトファイルに対しても適切に動作することを目的に設計された。

## 例

    #include <cstdio>

    int main() {
      std::FILE *file = std::fopen("sample.txt", "r");
      if (!file) {
        std::perror("ファイルを開けませんでした");
        return 1;
      }

      std::fpos_t pos;
      std::fgetpos(file, &pos); // ファイルの位置をposに保存する

      int c = std::fgetc(file);
      std::printf("1文字目: %c\n", c);

      std::fsetpos(file, &pos); // ファイルの読み取り位置をposにする

      c = std::fgetc(file);
      std::printf("もう一度1文字目: %c\n", c);

      std::fclose(file);
      return 0;
    }

### ファイル内容(sample.txt)

    Hello, World!

### 出力

    1文字目: H
    もう一度1文字目: H

## 処理系

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