
333
18
章
標準ライブラリ関数
本章では標準ANSI Cライブラリ関数をアルファベット順に記述する。ほとんどの関数
が1989 ANSI標準または1995年「規格追補」に含まれ、主要なコンパイラでサポートされ
ている。ISO/IEC 9899:1999標準(「C99」)がいくつかの新関数を追加したが、それらも現
在のコンパイラでサポートされている。新たなISO/IEC 9899:2011標準で追加されたマル
チスレッドや境界検査関数などの最新のオプション機能については、サポートは不完全だ。
この標準で導入された新関数には本章では「C11」と補った。
各記述には、関数の目的、戻り値、関数プロトタイプ、関数が宣言されている関数宣
言ヘッダファイル、簡単な例を示す。例には
main()
関数や関数宣言のヘッダファイルの
#include
指令をほとんどの説明で省いている。本章記載の関数を使うときには、プログラ
ムに適切なヘッ
ダファイルをインクルードして、標準関数の宣言を忘れないようにする。
ファイル名に相対/絶対パスが必要となる場合があることにも注意。標準関数呼び出しで生
じたエラーや例外についての情報については、16章の標準ヘッダmath.h, fenv.h, errno.h
の節を参照すること。
セキュア代替関数、すなわち名前が
_s
で終わる境界検査関数のC11実装については、対
象関数の宣言を含むヘッダへの
include
指令の前に、マクロ
__STDC_WANT_LIB_EXT1__
を1
と定義しておく、という規則がある。 ...