本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 3 : ライブラリ (N~Z) > w

wcstol(3C)

HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

wcstol(), wcstoll(), wcstoul(), wcstoull() ― ワイドキャラクタ文字列から long 整数への変換

構文

#include <wchar.h>

long int wcstol(const wchar_t *nptr, wchar_t **endptr, int base);

long long wcstoll(const wchar_t *nptr, wchar_t **endptr, int base);

unsigned long int wcstoul(const wchar_t *nptr, wchar_t **endptr,
int base);

unsigned long long wcstoull(const wchar_t *nptr, wchar_t **endptr,
int base);

特記事項:

これらの関数は XPG4 の Worldwide Portability Interface によるワイドキャラクタ整形用関数 に従っていて、 strtol(3C) で定義されている 8 ビット文字の整形用関数と同様の動作をします。

説明

wcstol() または wcstoul() は、 nptr が指すワイドキャラクタ文字列を long int または unsigned long int の数値にそれぞれ変換します。 wcstoll() または wcstoull() は、 nptr が指すワイドキャラクタ文字列を long long または unsigned long long の数値にそれぞれ変換します。 この文字列を先頭から、基数 base に対して不適切なワイドキャラクタが現れるまで走査します。 文字列の先頭の「空白」ワイドキャラクタ wctype(3C)iswspace() によって定義) は無視します。 変換できなかった場合には、戻り値は 0 となります。

base が 2 以上で 36 以下の場合、これを基数とします。 先頭には、オプションので符号をつけることができます。 この後ろに 0 があっても無視されます。 base が 16 の場合には、 0x0X も無視します。

base が 0 の場合、基数はワイドキャラクタ文字列自体から判断します。先頭のオプションの符号の次に 0 があった場合は 8 進数とし、 0x0X があった場合は 16 進数とし、それ以外の場合は 10 進数として変換します。

endptr の値が (wchar_t **)NULL でない場合、 変換のための走査を終了する原因となったワイドキャラクタへのポインターを endptr が指す場所に格納します。 整数への変換を何もしなかった場合、 endptr が指す場所には、 nptr が格納され、戻り値は 0 となります。

これらの関数と wchar_t 型は、ヘッダーファイル <wchar.h> で定義してあります。

多言語化対応

ロケール

ワイドキャラクタがどのように処理されるかは LC_CTYPE カテゴリによって決まります。

サポートされるコードセット

シングル/マルチバイト文字コードセットがサポートされています。

戻り値

正常終了の場合、どちらの関数も変換した値があればそれを戻り値とします。

正しい変換値がオーバーフローを起こす場合、

wcstol()  

はその符号に従い、 LONG_MAX または LONG_MIN を戻り値とし、 errnoERANGE に設定します。

wcstoul()  

は、戻り値を ULONG_MAX とし、 errnoERANGE に設定します。

wcstoll()  

は (値の符号により) LONG_LONG_MAX または LONG_LONG_MIN を返し、 errno には ERANGE が格納されます。

wcstoull()  

は、戻り値を ULONG_LONG_MAX とし、 errnoERANGE に設定します。

その他のエラーについては戻り値は 0 となり、 errno をエラーに従って設定します。

エラー

wcstol()wcstoul()wcstoll()、 および wcstoull() は、次の条件のどれかに当てはまった場合は失敗し、 errno を対応する値に設定します。

EINVAL 

base がサポートされていない値になっています。

ERANGE 

戻り値がオーバーフローを起こす恐れがあります。

著者

これらのインタフェースは、OSF と HP で開発されました。

標準準拠

wcstol(): XPG4

wcstoul(): XPG4

wcstoll(): C99

wcstoull(): C99 !> .

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.