Standard library header <stdlib.h>
このヘッダは program support utilities ライブラリの一部であり、特にプログラム終了、 memory management 、 string conversions 、 random numbers 生成のための関数を提供します。このヘッダはまた、いくつかの algorithms も提供します。
関数 |
|
|
異常なプログラム終了を引き起こす(クリーンアップなし)
(関数) |
|
|
クリーンアップを行った正常なプログラム終了を引き起こす
(関数) |
|
|
(C11)
|
完全なクリーンアップなしで正常なプログラム終了を引き起こす
(関数) |
|
(C99)
|
クリーンアップなしで正常なプログラム終了を引き起こす
(関数) |
|
exit()
呼び出し時に実行される関数を登録する
(関数) |
|
|
(C11)
|
quick_exit
呼び出し時に実行される関数を登録する
(関数) |
|
プログラム実行ステータスを示す
(マクロ定数) |
|
|
このセクションは不完全です
理由: 7.24 一般ユーティリティ <stdlib.h> からさらに追加してください |
概要
|
このセクションは不完全です
理由: B.23 一般ユーティリティ <stdlib.h> からさらに追加してください |
#define __STDC_VERSION_STDLIB_H__ 202311L
// TODO: 型とマクロ
void call_once(once_flag* flag, void (*func)(void));
double atof(const char* nptr);
int atoi(const char* nptr);
long int atol(const char* nptr);
long long int atoll(const char* nptr);
int strfromd(char* restrict s, size_t n, const char* restrict format, double fp);
int strfromf(char* restrict s, size_t n, const char* restrict format, float fp);
int strfroml(char* restrict s, size_t n, const char* restrict format, long double fp);
double strtod(const char* restrict nptr, char** restrict endptr);
float strtof(const char* restrict nptr, char** restrict endptr);
long double strtold(const char* restrict nptr, char** restrict endptr);
long int strtol(const char* restrict nptr, char** restrict endptr, int base);
long long int strtoll(const char* restrict nptr, char** restrict endptr, int base);
unsigned long int strtoul(const char* restrict nptr, char** restrict endptr, int base);
unsigned long long int strtoull(const char* restrict nptr,
char** restrict endptr, int base);
int rand(void);
void srand(unsigned int seed);
void* aligned_alloc(size_t alignment, size_t size);
void* calloc(size_t nmemb, size_t size);
void free(void* ptr);
void free_sized(void* ptr, size_t size);
void free_aligned_sized(void* ptr, size_t alignment, size_t size);
void* malloc(size_t size);
void* realloc(void* ptr, size_t size);
[[noreturn]] void abort(void);
int atexit(void (*func)(void));
int at_quick_exit(void (*func)(void));
[[noreturn]] void exit(int status);
[[noreturn]] void _Exit(int status);
char* getenv(const char* name);
[[noreturn]] void quick_exit(int status);
int system(const char* string);
QVoid* bsearch(const void* key, QVoid* base, size_t nmemb, size_t size,
int (*compar)(const void* , const void* ));
void qsort(void* base, size_t nmemb, size_t size,
int (*compar)(const void* , const void* ));
int abs(int j);
long int labs(long int j);
long long int llabs(long long int j);
div_t div(int numer, int denom);
ldiv_t ldiv(long int numer, long int denom);
lldiv_t lldiv(long long int numer, long long int denom);
int mblen
(注:指定された条件により、HTMLタグ・属性は翻訳せず、タグ内のテキストも翻訳対象外のため、元のまま保持しています)(const char* s, size_t n);
int mbtowc(wchar_t* restrict pwc, const char* restrict s, size_t n);
int wctomb(char* s, wchar_t wc);
size_t mbstowcs(wchar_t* restrict pwcs, const char* restrict s, size_t n);
size_t wcstombs(char* restrict s, const wchar_t* restrict pwcs, size_t n);
size_t memalignment(const void* p);
実装が __STDC_IEC_60559_DFP__ を定義している場合のみ:
int strfromd32(char* restrict s, size_t n, const char* restrict format, _Decimal32 fp); int strfromd64(char* restrict s, size_t n, const char* restrict format, _Decimal64 fp); int strfromd128(char* restrict s, size_t n, const char* restrict format, _Decimal128 fp); _Decimal32 strtod32(const char* restrict nptr, char** restrict endptr); _Decimal64 strtod64(const char* restrict nptr, char** restrict endptr); _Decimal128 strtod128(const char* restrict nptr, char** restrict endptr);
実装が
__STDC_IEC_60559_TYPES__
を定義しており、かつユーザーコードが
<stdlib.h>
のインクルード前に
__STDC_WANT_IEC_60559_TYPES_EXT__
を定義している場合のみ:
#ifdef __STDC_WANT_IEC_60559_TYPES_EXT__ int strfromfN(char* restrict s, size_t n, const char* restrict format, _FloatN fp); int strfromfNx(char* restrict s, size_t n, const char* restrict format, _FloatNx fp); int strfromdN(char* restrict s, size_t n, const char* restrict format, _DecimalN fp); int strfromdNx(char* restrict s, size_t n, const char* restrict format, _DecimalNx fp); _FloatN strtofN(const char* restrict nptr, char** restrict endptr); _FloatNx strtofNx(const char* restrict nptr, char** restrict endptr); _DecimalN strtodN(const char* restrict nptr, char** restrict endptr); _DecimalNx strtodNx(const char* restrict nptr, char** restrict endptr); int strfromencfN(char* restrict s, size_t n, const char* restrict format, const unsigned char encptr[restrict static N/8]); int strfromencdecdN(char* restrict s, size_t n, const char* restrict format, const unsigned char encptr[restrict static N/8]); int strfromencbindN(char* restrict s, size_t n, const char* restrict format, const unsigned char encptr[restrict static N/8]); void strtoencfN(unsigned char encptr[restrict static N/8], const char* restrict nptr, char** restrict endptr); void strtoencdecdN(unsigned char encptr[restrict static N/8], const char* restrict nptr, char** restrict endptr); void strtoencbindN(unsigned char encptr[restrict static N/8], const char* restrict nptr, char** restrict endptr); #endif
実装が
__STDC_LIB_EXT1__
を定義しており、かつユーザーコードが
stdio.h
のインクルード前に
__STDC_WANT_LIB_EXT1__
を定義している場合のみ:
#if defined(__STDC_WANT_LIB_EXT1__) constraint_handler_t set_constraint_handler_s(constraint_handler_t handler); void abort_handler_s(const char* restrict msg, void* restrict ptr, errno_t error); void ignore_handler_s(const char* restrict msg, void* restrict ptr, errno_t error); errno_t getenv_s(size_t* restrict len, char* restrict value, rsize_t maxsize, const char* restrict name); QVoid* bsearch_s(const void* key, QVoid* base, rsize_t nmemb, rsize_t size, int (*compar)(const void* k, const void* y, void* context), void* context); errno_t qsort_s(void* base, rsize_t nmemb, rsize_t size, int (*compar)(const void* x, const void* y, void* context), void* context); errno_t wctomb_s(int* restrict status, char* restrict s, rsize_t smax, wchar_t wc); errno_t mbstowcs_s(size_t* restrict retval, wchar_t* restrict dst, rsize_t dstmax, const char* restrict src, rsize_t len); errno_t wcstombs_s(size_t* restrict retval, char* restrict dst, rsize_t dstmax, const wchar_t* restrict src, rsize_t len); #endif
`タグ内のコードは翻訳対象外です。C++固有の用語(関数名、型名など)も翻訳していません。上記のコードブロックは完全に元のまま保持されています。