最終更新日時:
が更新

履歴 編集

function
<cwchar>

std::fwide

namespace std {
  int fwide(FILE* stream, int mode);
}

概要

ストリームの入出力の単位(ワイド文字/マルチバイト文字)を設定・取得する。

戻り値

ストリームの単位が確定した後の状態を返す。

戻り値 意味
正の値 ワイド文字単位
0 どちらにも確定していない
負の値 マルチバイト文字単位

備考

  • modeが正の値であればワイド文字単位、負の値であればマルチバイト文字単位に設定しようとする。0の場合は設定を行わず、現在の状態を取得するだけとなる
  • ストリームの単位は、最初の入出力操作か、この関数の呼び出しによって一度だけ確定する。確定した後は、この関数で変更できない
  • 確定した単位と異なる入出力操作を行った場合、動作は未定義である

#include <cwchar>
#include <cstdio>
#include <iostream>

int main()
{
  std::FILE* fp = std::fopen("test.txt", "w");

  // 未確定の状態
  std::wcout << std::fwide(fp, 0) << std::endl;

  // ワイド文字単位に設定する
  std::wcout << (std::fwide(fp, 1) > 0) << std::endl;

  std::fclose(fp);
}

出力

0
1

バージョン

言語

  • C++98

関連項目