最終更新日時:
が更新

履歴 編集

function
<cwchar>

std::mbsinit

namespace std {
  int mbsinit(const mbstate_t* ps);
}

概要

変換状態が初期変換状態であるかを判定する。

初期変換状態とは、マルチバイト文字の途中まで読み込んだ状態や、特殊なシフト状態にない、変換の開始位置として使える状態のことである。

戻り値

psがヌルポインタである場合、またはpsが指す変換状態が初期変換状態を表す場合は0以外を返す。そうでなければ0を返す。

#include <iostream>
#include <cwchar>

int main()
{
  std::mbstate_t state{};

  // 値初期化したオブジェクトは初期変換状態
  std::cout << (std::mbsinit(&state) != 0) << std::endl;

  // ヌルポインタに対しても0以外を返す
  std::cout << (std::mbsinit(nullptr) != 0) << std::endl;
}

出力

1
1

関連項目