一般ユーティリティ (Standard Library)
| ヘッダ ファイル |
stdlib.h |
|---|---|
| 規格 | ANSI C (C89) / C90 |
| 概要 | 5 つの型及び幾つかの一般ユーティリティ関数を宣言し、幾つかのマクロを定義する。 |
プラグマ
型
| 名前 | 機能 |
|---|---|
| div_t | 2 つの整数からなる構造体。div() が返す。 |
| ldiv_t | 2 つの整数からなる構造体。ldiv() が返す。 |
| lldiv_t | 2 つの整数からなる構造体。lldiv() が返す。 |
| (size_t) | sizeof() が返す符号なし整数型。 |
| (wchar_t) | ワイド文字を表現できる型。 |
マクロ
exit() 関数を呼び出すときの終了条件
| 名前 | 機能 |
|---|---|
| EXIT_FAILURE | プログラムを正常終了します。 |
| EXIT_SUCCESS | プログラムを異常終了します。 |
最大値
最大値の多くは limits.h にて定義されています。
| 名前 | 機能 |
|---|---|
| MB_CUR_MAX | 現在のロケールでのマルチバイト数の最大バイト数。 MB_LEN_MAX (limits.h にて定義) を超えることはありません。 |
| RAND_MAX | rand() 関数から返される最大値です。 |
その他
| 名前 | 機能 |
|---|---|
| (NULL) | 任意のデータオブジェクトポインタと互換性があるヌルポインタ定数です。 |
引数付きマクロ
関数
疑似乱数
| 名前 | 機能 |
|---|---|
| rand() | 乱数ジェネレータです。 |
| srand() | 乱数ジェネレータを初期化します。 |
メモリ管理
| 名前 | 機能 |
|---|---|
| calloc() | メインメモリを割り当てます。 |
| free() | 割り当てられたブロックを解放します。 |
| malloc() | malloc は、メモリヒープから size バイトのブロックを割り当てます。 |
| realloc() | メインメモリを再割り当てします。 |
メモリ操作関連の関数は処理系によっては alloc.h で定義されていたりしました。
プロセス制御
| 名前 | 機能 |
|---|---|
| _Exit() 1 | プログラムの終了。終了処理を行いません。 古い処理系では _exit() で定義されている事があります。 |
| abort() | プログラムを異常終了させます。 |
| atexit() | 終了関数を登録します。 |
| exit() | プログラムの終了。終了処理を行います。 |
| system() | オペレーティング システム コマンドを実行します。 |
環境変数
| 名前 | 機能 |
|---|---|
| getenv() | システム環境から環境変数を取得します。 |
検索・ソート
| 名前 | 機能 |
|---|---|
| bsearch() | 配列のバイナリ検索を実行します。 |
| qsort() | クイックソートアルゴリズムを使ってソートします。 |
整数算術演算
| int | long | long long | 機能 |
|---|---|---|---|
| abs() | labs() | llabs() 1 | 整数の絶対値を返します。 |
| div() | ldiv() | lldiv() 1 | 2 つの整数で除算を行い、その商と剰余を返します。 |
文字列から数値へ変換
| int | long | long long | 機能 |
|---|---|---|---|
| atoi() | atol() | atoll() 1 | 文字列を整数に変換します。 要確認: strto~() 系で代替。 |
| 名前 | 機能 |
|---|---|
| atof() | 文字列を実数 (double 型) に変換します。 要確認: strto~() 系で代替。 |
ato~() 系の関数は古い処理系との互換性のために残されています。
| long | unsigned long |
long long | unsigned long long |
機能 |
|---|---|---|---|---|
| strtol() | strtoul() | strtoll() 1 | strtoull() 1 | 文字列を指定された基数で 整数型の値に変換します。 |
| double | float | long double | 機能 |
|---|---|---|---|
| strtod() | strtof() 1 | strtold() 1 | 文字列を実数型の値に変換します。 |
マルチバイト文字・ワイド文字操作
| 名前 | 機能 |
|---|---|
| mblen() | マルチバイト文字の長さを判定します。 |
| mbstowcs() | マルチバイト文字列を wchar_t 配列に変換します。 |
| mbtowc() | マルチバイト文字を wchar_t コードに変換します。 |
| wcstombs() | wchar_t 配列をマルチバイト文字列に変換します。 |
| wctomb() | wchar_t コードをマルチバイト文字に変換します。 |
ワイド文字用の関数が wchar.h で定義されています。
資料
- C 言語 / 標準ライブラリ / stdlib.h (Wikibooks)
- z/OS C/C++ ランタイム・ライブラリー・リファレンス stdlib.h — 標準ライブラリー関数 (IBM)
- C 言語の標準ヘッダ一覧 stdlib.h (C 言語)