最終更新日時:
が更新

履歴 編集

function
<cinttypes>

std::wcstoumax(C++11)

namespace std {
  uintmax_t
    wcstoumax(const wchar_t* nptr,
              wchar_t** endptr,
              int base);
}

概要

ワイド文字列nptrを、最大幅の符号なし整数型 uintmax_t に変換する。文字列はbaseで指定された基数に従って解釈される。

endptrが非nullptrの場合、変換が終了した位置の文字へのポインタがそこに格納される。

基数baseは 2〜36 または 0 の値を取る。baseが0の場合、

  • 文字列の先頭が0xまたは0Xのときは16進数
  • 文字列の先頭が0のときは8進数
  • その他のときは10進数

として変換する。

この関数は、std::strtoumax()のワイド文字列版である。

戻り値

  • 変換可能ならば変換後の数値。
  • 変換後の数値がuintmax_tの範囲外の場合、UINTMAX_MAX
  • 変換不可能なら0を返す。

備考

  • 変換後の数値がuintmax_tの範囲を超えるときは、errnoERANGEが設定される。

#include <iostream>
#include <cinttypes>

int main()
{
  std::uintmax_t x = std::wcstoumax(L"FF", nullptr, 16);
  std::cout << x << std::endl;
}

出力

255

バージョン

言語

  • C++11

関連項目

参照