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の範囲を超えるときは、errnoにERANGEが設定される。
例
#include <iostream>
#include <cinttypes>
int main()
{
std::uintmax_t x = std::wcstoumax(L"FF", nullptr, 16);
std::cout << x << std::endl;
}
出力
255
バージョン
言語
- C++11