最終更新日時:
が更新

履歴 編集

function
<locale>

std::codecvt::length

int
  length(stateT& state,
         const externT* from,
         const externT* from_end,
         size_t max) const; // (1) C++98

概要

内部型文字列への変換で消費される外部型文字列の長さを取得する。

戻り値

do_length(state, from, from_end, max)

#include <iostream>
#include <locale>
#include <cwchar>

int main()
{
  using codecvt_t = std::codecvt<wchar_t, char, std::mbstate_t>;
  const auto& cv = std::use_facet<codecvt_t>(std::locale::classic());

  const char from[] = "abc";
  std::mbstate_t state{};

  // 内部型で2文字を得るために消費する外部型の文字数
  std::cout << cv.length(state, from, from + 3, 2) << std::endl;
}

出力

2

バージョン

言語

  • C++98

関連項目