=== 10. ライブラリ ====================
ANSIの標準ヘッダの一覧は以下の通り。それらを用いればより移植性の高いプログラムをかける。
assert.hctype.herrno.hfloat.hlimits.hlocale.hmath.hsetjmp.hsignal.hstdarg.hstddef.hstring.hstdio.hstdlib.htime.h
ヘッダは、どのような順序で#includeしても構いません。また、同じ標準ヘッダを何度#includeしても構いません。
42の課題でよく使うヘッダ
stdio.hstdlib.hstddef.hunistd.hstring.h
おすすめの関数(RTFM)
ctype.h
islower()isupper()isdigit()isxdigit()- 16進数
isalpha()isalnum()isspace()isprint()isgraph()- space以外のprintableな文字
ispunct()- space, アルファベット以外
iscntrl()- 制御文字でtrue
tolower()toupper()
limits.h
CHAR_BITINT_MIN,INT_MAXUINT_MAX
stddef.h
NULL定数NULLはどのオブジェクトも指さないポインタ定数
offsetofsize_tuintptr_t
string.h
strlen()strcpy(),strncpy(),strlcpy()strlcpy()は、BSD拡張。Linuxで使うなら#include<bsd/string.h>とcc -lbsd *.cが必要になる
strcat(),strncat(),strlcat()strcmp(),strncmp()strchr(),strrchr()strspn(),strcspn(),strpbrk(),strtok()strstr()strtol()