BohYoh.comトップページへ  wcstol
C言語 標準ライブラリ アルファベット順索引 ヘッダ別索引 ホームページへ C言語講座のページ

ワイド文字入出力関数
wcstol
ヘッダ #include <wchar.h>
形 式 long wcstol(const wchar_t *nptr, wchar_t **endptr, int base);
機 能 nptrが指すワイド文字列の最初の部分を、long型の表現に変換する。
 まず始めに、入力ワイド文字列を次の三つの部分に分割する。
  第1の部分 … iswspace関数の規定による空白類ワイド文字の並び(空でもよい)。
  第2の部分 … baseを基数とする整数と同様の形式の変換対象列。
  第3の部分 … 認識の対象とならないワイド文字の1ワイド文字以上の末尾のワイド文字列。
 次に変換対象列の部分を整数に変換し、その結果を返す。
 baseの値が0のとき、変換対象列の認識可能な形式は、整数定数と同じである。ただし、省略可能な先行する正符号または負符号があってもよいが、整数接尾語は含まない。baseの値が2以上36以下であるとき、変換対象列の認識可能な形式は、基数baseで整数を表現する英字および数字の列である。ただし、省略可能な先行する正符号または負符号があってもよいが、整数接尾語は含まない。a(またはA)からz(またはZ)までの英字は、10から35までの値に対応する。baseの値より小さい値に対応する英字だけを許す。baseの値が16のとき、もしあれば符号の後ろ、英字および数字の列の前に省略可能なワイド文字0xまたは0Xがあっても構わない。
 変換対象列は、入力ワイド文字列中の最初の非空白類ワイド文字で始まり、認識可能な形式の最も長い部分列として定義する。入力ワイド文字列が空であるか、すべて空白類からなるか、または最初の非空白類ワイド文字が符号、許される英字および数字のいずれでもないとき、変換対象列はワイド文字を含まない。
 変換対象列が認識可能な形式で、かつbaseの値が0のとき、最初の数字で始まるワイド文字の列を整数定数として解釈する。変換対象列が認識可能な形式で、かつbaseの値が2以上36以下であるとき、それを変換の基数に用い、各英字が上で規定した値に対応するものとして整数に変換する。変換対象列が負符号で始まるとき、変換の結果の値に-1をかける。endptrが空ポインタでなければ、末尾のワイド文字列へのポインタをendptrが指すオブジェクトに格納する。
 付加的に処理系定義の変換対象列の形式を受理しても構わない。
 変換対象列が空であるかまたは認識可能な形式でないとき、変換は行わない。このとき、endptrが空ポインタでなければ、nptrの値をendptrが指すオブジェクトに格納する。
返却値 変換が可能ならば変換した値を返し、不可能ならば0を返す。正しい値が表現可能な値の範囲外であるとき、ULONG_MAXを返し、errnoにはマクロERANGEの値を格納する。


BohYoh.comトップページへ