__BEGIN_DECLS
#if __WORDSIZE == 64
/* 64位平台 */
/* 我们要使用ldiv_t来定义uintmax_t */
typedef struct
{
long int quot; /* 商 */
long int rem; /* 余数 */
} imaxdiv_t;
#else /* 32位平台 */
/* 我们要使用lldiv_t来定义uintmax_t */
typedef struct
{
long long int quot; /* 商 */
long long int rem; /* 余数 */
} imaxdiv_t;
#endif
/* 计算N的绝对值 */
extern intmax_t imaxabs (intmax_t __n) __THROW __attribute__ ((__const__));
/* 返回NUMER除以DENOM的商和余数,放在imaxdiv_t结构中 */
extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom)
__THROW __attribute__ ((__const__));
/* 与strtol类似,但转换成intmax_t */
extern intmax_t strtoimax (__const char *__restrict __nptr,
char **__restrict __endptr, int __base) __THROW;
/* 与strtoul类似,但转换成uintmax_t */
extern uintmax_t strtoumax (__const char *__restrict __nptr,
char ** __restrict __endptr, int __base) __THROW;
/* 与wcstol类似,但转换成intmax_t */
extern intmax_t wcstoimax (__const __gwchar_t *__restrict __nptr,
__gwchar_t **__restrict __endptr, int __base)
__THROW;
/* 与wcstoul类似,但转换成uintmax_t */
extern uintmax_t wcstoumax (__const __gwchar_t *__restrict __nptr,
__gwchar_t ** __restrict __endptr, int __base)
__THROW;
/* 下面是GNU的扩展:是上面4个标准转换函数的外部内联版本,有64位平台和32位平台之分 */
__END_DECLS
#endif /* inttypes.h */
C语言基本数据类型及其扩展和可移植性问题(6)
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://www.heiqu.com/6b6aaefc84e43b1774e208ee9ff10981.html