wcstoimax() - ワイド文字ストリングの intmax_t 型への変換

標準

標準/拡張機能 C/C++ 依存項目

C99
Single UNIX Specification、バージョン 3
C++ TR1 C99

両方 z/OS® V1R7

形式

#define _ISOC99_SOURCE
#include <inttypes.h>

intmax_t wcstoimax(const wchar_t * __restrict__ nptr, 
                   wchar_t ** __restrict__ endptr, int base);
コンパイル要件: 関数 wcstoimax() を使用するには、long long が使用可能であることが必要です。

機能説明

wcstoimax() 関数は、ワイド文字ストリング nptr を intmax_t 整数型に変換します。基数の有効な入力値は、0 および 2 から 36 までの範囲内です。wcstoimax() 関数は、wcstol() および wcstoll() と同等です。唯一の違いは、戻り値の型が intmax_t であることです。詳しくは、wcstoll() を参照してください。

戻り値

正常に実行された場合、wcstoimax() は、変換された値があれば、それを戻します。

正常に実行されなかった場合、変換が実行できないと、wcstoimax() は 0 を戻します。正しい値が表現可能な値の範囲外である場合は、wcstoimax() は INTMAX_MAX または INTMAX_MIN を値の符号に応じて戻します。基数の値がサポートされない場合、wcstoimax() は 0 を戻します。

正常に実行されなかった場合、wcstoimax() は errno を次のいずれかの 値に設定します。

エラー・コード
説明
EINVAL
base の値はサポートされません。
ERANGE
変換によってオーバーフローが起きました。

#define _ISOC99_SOURCE
#include <inttypes.h>      
#include <stdio.h>        

 int main(void)                                       
{                                                    
   wchar_t *nptr;                                    
   wchar_t *endptr;                                  
   intmax_t  j;                                      
   int base = 10;                                    
   nptr = L"10110134932";                            
   printf("nptr = `%ls`¥n", nptr);
      j = wcstoimax(nptr, &endptr, base);            
      printf("wcstoimax = %jd¥n", j);
      printf("Stopped scan at `%ls`¥n¥n", endptr);
}                                                    



出力:

nptr = `10110134932`      
wcstoimax = 10110134932
Stopped scan at ``     

関連情報