7.4.16 < inttypes.h>

整数型を拡張します。

以下は、すべて処理系定義です。

種別

定義名

説明

(マクロ)

Imaxdiv_t

imaxdiv関数の返す値の型です。

変数

(マクロ)

PRIdN

PRIdLEASTN

PRIdFASTN

PRIdMAX

PRIdPTR

 

PRIiN

PRIiLEASTN

PRIiFASTN

PRIiMAX

PRIiPTR

 

PRIoN

PRIoLEASTN

PRIoFASTN

PRIoMAX

PRIoPTR

 

PRIuN

PRIuLEASTN

PRIuFASTN

PRIuMAX

PRIuPTR

 

PRIxN

PRIxLEASTN

PRIxFASTN

PRIxMAX

PRIxPTR

 

PRIXN

PRIXLEASTN

PRIXFASTN

PRIXMAX

PRIXPTR

 

SCNdN

SCNdLEASTN

SCNdFASTN

SCNdMAX

SCNdPTR

 

SCNiN

SCNiLEASTN

SCNiFASTN

SCNiMAX

SCNiPTR

 

変数

(マクロ)

SCNoN

SCNoLEASTN

SCNoFASTN

SCNoMAX

SCNoPTR

 

SCNuN

SCNuLEASTN

SCNuFASTN

SCNuMAX

SCNuPTR

 

SCNxN

SCNxLEASTN

SCNxFASTN

SCNxMAX

SCNxPTR

 

関数

imaxabs

絶対値を計算する。

imaxdiv

商、剰余を計算する。

strtoimax

strtoumax

文字列最初の部分をintmax_t型およびuintmax_t型表現に変換する以外は、strtol, strtoll, strtoulおよびstrtoull関数と等価。

wcstoimax

wcstoumax

ワイド文字列最初の部分をintmax_t型およびuintmax_t型表現に変換する以外は、wcstol, wcstoll, wcstoulおよびwcstoull関数と等価。

 

imaxabs

絶対値を計算します。

 

[指定形式]

#include <inttypes.h>

intmax_t imaxabs(intmax_t a);

 

[引数]

a 絶対値を求める値

 

[戻り値]

aの絶対値

 

imaxdiv

除算を行います。

 

[指定形式]

#include <inttypes.h>

intmaxdiv_t imaxdiv(intmax_t n, intmax_t d);

 

[引数]

n 除算をする値

d

 

[戻り値]

商と剰余から成る除算結果

 

strtoimax/ strtoumax

数を表現する文字列をintmax_t型の整数に変換します。

 

[指定形式]

#include <inttypes.h>

intmax_t strtoimax( const char *nptr, char **endptr, long base);

uintmax_t strtoumax(const char *nptr, char **endptr, long base);

 

[引数]

nptr 変換する数を表現する文字列へのポインタ

endptr 整数を構成しない最初の文字へのポインタを格納する記憶域への ポインタ

base 変換の基数(0又は2〜36)

 

[戻り値]

正常: nptrが指している文字列が整数を構成しない文字で始まっている時:0

nptrが指している文字列が整数を構成する文字で始まっている時 :変換されたintmax_t型の整数値

異常: 変換後の値がオーバフローの時:INTMAX_MAX, INTMAX_MINまたはUINTMAX_MAX

 

[備考]

変換後の値がオーバフローをおこした時は、errnoにERANGEを設定します。

strtoimax関数及びstrtoumax関数は文字列の最初の部分をそれぞれintmax_t型および

uintmax_t型整数に変換するという点を除いて、strtol関数、strtoll関数、strtoul関数及びstrtoull関数と等価とします。

 

wcstoimax/ wcstoumax

数を表現する文字列をintmax_t型またはuintmax_t型の整数に変換します。

 

[指定形式]

#include <stddef.h>

#include <inttypes.h>

intmax_t wcstoimax(const wchar_t * restrict nptr, wchar_t ** restrict endptr, long base);

uintmax_t wcstoumax(const wchar_t * restrict nptr, wchar_t ** restrict endptr, long base);

 

[引数]

nptr 変換する数を表現する文字列へのポインタ

endptr 整数を構成しない最初の文字へのポインタを格納する記憶域への ポインタ

base 変換の基数(0又は2〜36)

 

[戻り値]

正常: nptrが指している文字列が整数を構成しない文字で始まっている時:0

nptrが指している文字列が整数を構成する文字で始まっている時 :変換されたintmax_t型の整数値

異常: 変換後の値がオーバフローの時:INTMAX_MAX, INTMAX_MINまたはUINTMAX_MAX

 

[備考]

変換後の値がオーバフローをおこした時は、errnoにERANGEを設定します。

wcstrtoimax関数及びwcstrtoumax関数は文字列の最初の部分をそれぞれintmax_t型およびuintmax_t型整数に変換するという点を除いて、wcstol関数、wcstoll関数、wcstoul関数及びwcstoull関数と等価とします。