stdio.h

ctype.h

string.h

math.h

stdlib.h

time.h

stdio.h

printf
int printf(const char *format, ...)

printf( ... ) は fprintf(stdout, ... ) と同じ.

fprintf
int fprintf(FILE *stream, const char *format, ...)

出力フォーマット format に従って stream に出力する.出力した文字数を返す.エラーの場合は負の数を返す.

sprintf
int sprintf(char *s, const char *format, ...)

‘\0’を末尾に加えて文字列 s に書き出すこと以外は fprintf と同じ.返される文字数に‘\0’は含まない.

vprintf
int vprintf(const char *format, va_list arg)

可変な引数リストが arg で置き換えられている点を除けば printf と同じ.

vfprintf
int vfprintf(FILE *stream, const char *format, va_list arg)

可変な引数リストが arg で置き換えられている点を除けば fprintf と同じ.

vsprintf
int vsprintf(char *s, const char *format, va_list arg)

可変な引数リストが arg で置き換えられている点を除けば sprintf と同じ.

scanf
int scanf(const char *format, ...)

scanf( ... ) は fscanf(stdin, ... ) と同じである.

fscanf
int fscanf(FILE *stream, const char *format, ...)

出力フォーマット format に従って stream から読み込む.

sscanf
int sscanf(char *s, const char *format, ...)

入力文字列が文字列 s から取られる以外は scanf と同じ.

puts
int puts(const char *s)

文字列 s を標準出力に書き出す.

fputs
int fputs(int c, FILE *stream)

文字 c を stream に書き出す.失敗した場合は EOF を返す.

gets
char *gets(char *s)

入力された文字列を配列 s に読み込む.末尾の‘\n’は削除され,‘\0’が追加される.

fgets
char *fgets(char *s, int n, FILE *stream)

最大 n-1 文字を stream から読み込み,末尾の‘\n’は削除されず,最後に‘\0’が加えられる.正常時は s を返す.ファイルの終わりかエラー発生時は NULL を返す.

putchar
int putchar(int c)

文字 c を標準出力に書き出す.成功した場合は非負の数,失敗した場合は EOF を返す.

getchar
int getchar(void)

標準入力の次の文字を符号なし文字を返す.失敗した場合は EOF を返す.

fputc
int fputc(int c, FILE *stream)

文字 c を stream に書き出す.成功時は非負の数,失敗時は EOF を返す.

putc
int putc(int c, FILE *stream)

fputc と同じ.

fgetc
int fgetc(FILE *stream)

stream から 1文字読み込み,それを返す.失敗時は EOF を返す.

getc
int getc(FILE *stream)

fgetc と同じ.

ungetc
int ungetc(int c, FILE *stream)

c を unsigned int に変換して stream 出力する.出力した文字を返す.エラーの場合は EOF を返す.

fopen
FILE *fopen(const char *filename, const char *mode)

ファイル filename をオープンし,ストリームを返す.オープンできなかった場合は NULL を返す.

freopen
FILE *freopen(const char *filename, const char *mode, FILE *stream)

指定されたモードでファイル filename を再オープンしストリームを返す.エラーの場合は NULL を返す.

fclose
int fclose(FILE *stream)

stream で指定されたファイルをクローズする.正常時はゼロ,エラー時は非ゼロを返す.

fread
size_t fread(void *ptr, size_t size, size_t nobj, FILE *stream)

大きさ size のオブジェクト(最大 nobj 個)を stream から配列 ptr に読み込む.読み込まれたオブジェクトの数を返す.

fwrite
size_t fwrite(const void *ptr, size_t size, size_t nobj, FILE *stream)

大きさ size のオブジェクト(最大 nobj 個)を 配列 ptr から stream に書き出す.書き出されたオブジェクトの数を返す.

fseek
int fseek(FILE *stream, long offset, int origin)

stream に対してファイルの位置をセットする.バイナリファイルに対しては,origin(SEEK_SET: 始め,SEEK_CUR: 現在位置,SEEL_END: ファイルの終わり)から offset はなれたところにセットする.テキストファイルの場合,offset はゼロ,又は ftell (このとき origin は SEEK_SET のみ可)で返される値でなければならない.エラーの場合非ゼロを返す.

ftell
long ftell(FILE *stream)

stream に対する現在のファイル位置を返す.エラーのときは負の数を返す.

rewind
void rewind(FILE *stream)

rewind(fp) は fseek(fp, 0L, SEEK_SET) clearerr(fp) と同じ.

fgetpos
int fgetpos(FILE *stream, fpos_t *ptr)

stream 内の現在位置を,後で fsetpos で使うため,*ptr に記録する.型 fpos はそうした値を記録するためのものである.エラー時に非ゼロを返す.

fsetpos
int fgetpos(FILE *stream, const fpos_t *ptr)

前に fgetpos で得られた stream 内の現在位置を,*ptr にセットする.型 fpos はそうした値を記録するためのものである.エラー時に非ゼロを返す.

fflush
int fflushs(FILE *stream)

出力ストリームに対して,未書き込みのバッファを書き出す.入力ストリームに対しての動作は不定.正常に書き込んだ場合はゼロ,エラーが発生した場合は NULL を返す.

remove
int remove(const char *filename)

まだ書き込まれていないデータを stream に書き出し,まだ読み込まれていないバッファ内の入力を捨て,自動的に割り当てられたバッファ内の入力を捨て,自動的に割り当てられたバッファをすべて開放し,ストリームをクローズする.エラーの場合はEOF,そうでないときは0を返す.

rename
int rename(const char *oldname, const char *newname)

ファイル名oldnameをnewnameに変更する.エラーが発生した場合,非ゼロを返す.

tmpfile
FILE *tmpfile(void)

一時ファイル(プログラム終了時に自動的に削除される.モードは"wb+")を作成する.エラーが発生したらNULL,そうでなければストリームを返す.

tmpnam
char *tmpnam(char s[L_tmpnam])

既存のファイル名でない文字列を作成する.

setvbuf
int setvbuf(FILE *stream, char *buf, int mode, size_t size)

ストリームに対するバッファリングを制御する.これは,読み,書き,その他,全ての操作の前に呼び出さなければならない.mode は _IOFBFでフルバッファリング,_IOLBFでテキストファイルの行バッファリング,_IONBFでバッファリングなし,となる.buf がバッファとして使われる(NULLの場合は割り当てられる).そのバッファの大きさは size である.エラーの場合,非ゼロを返す.

setbuf
void setbuf(FILE *stream, char *buf)

buf が NULL ならバッファリングオフ,そうでなければ (void)setvbuf(stream, buf, _IOFBF, BUFSIZE) と同様.

clearerr
void clearerr(FILE *stream)

stream に対する終端指示子,エラー指示子をクリアする.

feof
int feof(FILE *stream)

stream に対する終端指示子がセットされると,非ゼロを返す.

ferror
int ferror(FILE *stream)

stream に対するエラー指示子がセットされると,非ゼロを返す.

perror
void perror(const char *s)

fprintf(stderr, "%s: %s\n", s, error mmessage) と同じ.

ctype.h

isalnum
int isalnum(int c)

c がアルファベットか10進数なら真の値を返す.

isalpha
int isalpha(int c)

c がアルファベットなら真の値を返す.

iscntrl
int iscntrl(int c)

c が制御文字なら真の値を返す.

isdigit
int isdigit(int c)

c が10進数なら真の値を返す.

isgraph
int isgraph(int c)

c がスペース以外の印刷可能文字なら真の値を返す.

islower
int islower(int c)

c がアルファベットの小文字なら真の値を返す.

isupper
int isupper(int c)

c がアルファベットの大文字なら真の値を返す.

isprint
int isprint(int c)

c がスペースを含む印刷可能文字なら真の値を返す.

ispunct
int ispunct(int c)

c がスペース,英字,数字以外の印刷可能文字なら真の値を返す.

isspace
int isspace(int c)

c がスペース,改ページ,改行,復帰,タブ,垂直タブなら真の値を返す.

isxdigit
int ispunct(int c)

c が16進数なら真の値を返す.

tolower
int tolower(int c)

c の小文字を返す.

toupper
int toupper(int c)

c の大文字を返す.

string.h

strcpy
char *strcpy(char *s, const char *ct)

'\0'を含め,文字列 ct を s にコピーする.s を返す.

strncpy
char *strncpy(char *s, const char *ct, int n)

'\0'を含め,文字列 ct を 最大 n 文字 s にコピーする.s を返す.

strcat
char *strcat(char *s, const char *ct)

文字列 ct を s に連結する.s を返す.

strncat
char *strncat(char *s, const char *ct, int n)

文字列 ct を 最大 n 文字 s にコピーし,'\0' を加える.s を返す.

strcmp
int strcmp(const  char *cs, const char *ct)

文字列 cs と 文字列 ct を比較する.cs > ct なら 0より大きい数,cs < ct なら 0未満の数,等しければ 0 を返す.

strncmp
int strncmp(const char *cs, const char *ct, int)

文字列 cs と 文字列 ct の最大 n 字を比較する.cs > ct なら 0より大きい数,cs < ct なら 0未満の数,等しければ 0 を返す.

strchr
char *strchr(const char *cs, char c)

cs の中にある最初の c のポインタを返す.(なければ NULL を返す.)

strrchr
char *strrchr(const char *cs, char c)

cs の中にある最後の c のポインタを返す.(なければ NULL を返す.)

strcpn
size_t strspn(const char *cs, const char *ct)

ct に入っている文字からなる cs の接頭子の長さを返す.

strcspn
size_t strcspn(const char *cs, const char *ct)

ct に入っていない文字からなる cs の接頭子の長さを返す.

strpbrk
char *strpbrk(const char *cs, const char *ct)

文字列 ct の任意の文字が,文字列 cs の中で最初に現れる位置へのポインタを返す.(ない場合は NULL を返す.)

strstr
char *strstr(const char *cs, const char *ct)

cs 中で文字列 ct が最初に現れる位置へのポインタを返す.(ない場合は NULL を返す.)

strlen
size_t strlen(const char *cs)

文字列 cs の長さを返す.('\0'を含めない長さ)

seterror
char *strerror(int n)

エラー n に対応する(処理系で定義された)文字列へのポインタを返す.

strtok
char *strtok(char *s, const char ct)

ct からの文字によって区切られるトークンが s の中で探される.

memcpy
void *memcpy(char *s, const char *ct, int n)

ct の n 文字を s にコピーし,s を返す.

memmove
void *memmove(char *s, const char *ct, int n)

オブジェクトがオーバーラップしても動く点を除けば,memcpy と同じ.

memcmp
int memcmp(const char *cs, const char *ct, int n)

cs の最初の n 文字を ct と比較する.cs < ct なら 0より大きい数,cs > ct なら 0未満の数,等しければ 0 を返す.

memchr
void *memchr(const char *ct, char c, int n)

ct のなかで,c が最初に現れる位置へのポインタを返す.(n 字以内にない場合は NULL を返す.)

memset
void *memset(char *s, char c, int n)

s の最初の n 文字の中に,文字 c を入れる.s を返す.

math.h

ceil
double ceil(double x)

x より小さくない最小の整数を返す.

floor
double floor(double x)

x より大きくない最大の整数を返す.

fabs
double fabs(double x)

x の絶対値を返す.

exp
double exp(double x)

e の x 乗を返す.

ldexp
double ldexp(double x, int n)

x と 2 のn 乗 をかけた値を返す.

frexp
double frexp(double x, int *exp)

x を [1/2, 1] の範囲に正規化された小数部(戻り値)と2のベキ(*expに格納)に分割する.x がゼロならば,結果は両方ゼロである.

modf
double modf(double x, double *ip)

x をそれぞれ x と同じ符号を持つ整数部と小数部に分割する.整数部は *ip に格納し,小数部を返す.

fmod
double fmod(double x, double y)

x/y の浮動小数点余り.符号は x と同じ.(y = 0 のとき,結果は処理系依存)

log
double log(double x)

自然対数 ln(x) を返す.(x > 0)

log10
double log(double x)

基底10対数 log10(x) を返す.(x > 0)

pow
double pow(double x, double y)

x の y 乗 を返す.(x = 0 で y <= 0,または x < 0 で y が整数でないときはエラー.)

sqrt
double sqrt(double x)

x の 0.5 乗 を返す.

sin
double sin(double theta)

theata の正弦を返す.(theata の単位はラジアン)

asin
double asin(double x)

アークサイン x を返す.

sinh
double sinh(double theta)

theata の双曲線正弦を返す.(theata の単位はラジアン)

cos
double cos(double theta)

theata の余弦を返す.(theata の単位はラジアン)

acos
double acos(double x)

アークコサイン x を返す.

cosh
double cosh(double theta)

theata の双曲線余弦を返す.(theata の単位はラジアン)

tan
double tan(double theta)

theata の正接を返す.theata の単位はラジアンである.

atan
double atan(double x)

アークタンジェント x を返す.

atan2
double atan2(double y, double x)

アークタンジェント y / x を返す.

tanh
double tanh(double theta)

theta の双曲線正接を返す.theta の単位はラジアンである.

stdlib.h

rand
int rand(void)

範囲 0 ~ RAND_MAX の擬似乱数を返す.

srand
void srand(unsigned int seek)

rand の擬似乱数のシーケンスの開始点を seed で設定する.初期状態の seed は 1 である.

atoi
int atoi(const char *s)

s が表す int 型整数を返す.

atol
long atoi(const char *s)

s が表す long 型整数を返す.

atof
double atof(const char *s)

s が表す double 型整数を返す.

malloc
void *malloc(size_t size)

大きさが size のオブジェクトを入れるスペースのポインタを返す.失敗した場合は NULL を返す.

calloc
void *calloc(size_t nobj, size_t size)

それぞれの大きさが size である nobj 個のオブジェクトからなる配列を入れるためのスペースへのポインタを返す.失敗した場合は NULL を返す.

realloc
void *realloc(void *p, size_t size)

p によって示されるオブジェクトの大きさを size に変更する.失敗した場合は NULL を返す.

free
void free(void *p)

calloc,malloc,reallocで割り当てられたスペース p を解放する.p が NULL の場合は何も起こらない.

qsort
void qsort(void *base, size_t n, size_t size,                       int (*cmp)(const void *, const void *))

大きさが size のオブジェクト配列 base[0] ~ base[n-1] を昇順にソートする.

abs
int abs(int n)

n の絶対値を返す.

labs
long abs(long n)

n の絶対値を返す.

div
div_t div(int num, int denom)

num / denom の商とあまりを求めるために使用される.結果は,型 div_t の構造体のメンバ,quot および rem に格納される.

ldiv
ldiv_t ldiv(long num, long denom)

div の long 版である.結果は,ldiv_t 型の構造体の long メンバである quot と rem に格納される.

exit
void exit(int status)

プログラムを正常終了する.atexit で登録された関数が逆の順序で呼ばれ,オープンされているファイルは閉じられ,オープンストリームは閉じられ,制御は環境に戻される.環境に対して status がどう返されるかは処理系によるが,ゼロは正常終了を表す.status には EXIT_SUCCESS や EXIT_FAILURE も使用できる.

abort
void abort(void)

raise(SIGABRT) と同じ.プログラムを異常終了する.

atexit
int atexit(void (*fcn)(void))

プログラムが正常終了したときに呼ばれる関数 fcn を登録する.

strtod
double strtod(const char *s, char **endp)

先頭の空白文字を無視して,s の接頭子を double 型に変換する.変換されなかった接尾子のポインタは *endp に格納される.endpがNULLの場合は,格納されない.答えがオーバーフローする場合は,HUGE_VAL が適当な符号とともに返される.答えがアンダーフローする場合は,ゼロを返す.いずれの場合も,errno が ERANGE にセットされる.

strtol
long strtol(const char *s, char **endp, int base)

先頭の空白文字を無視して,s の接頭子を long 型に変換する.変換されなかった接尾子のポインタは *endp に格納される.endp が NULL の場合は,格納されない.base がゼロならば,基数は 8 か 10 か 16 である.先頭に 0 があれば8進, 0x があれば 16 進である.英字は大文字と小文字も,10 から base-1 までの数を表す.基数 16 の場合は,先頭の 0x が許される.答えがオーバーフローする場合は,符号により LONG_MAX ,または LOGN_MIN が返される.その場合,errno が ERANGE にセットされる.

strtoul
unsigned long strtoul(const char *s, char **endp, int base)

unsigned long 版の strtol である.結果が unsigned long になり,エラー値がULONG_MAXになる.

system
int system(const char *s)

文字列 s を実行環境に渡す.s が NULL のときは,コマンドプロセッサがあれば,非ゼロを返す.s が NULL でないときは,戻り値は処理系に依存する.

getenv
char *getenv(const char *name)

name で表される環境文字列,あるいは文字列が存在しないときには,NULL を返す.その詳細は処理系依存である.

bsearch
void *bsearch(const void *key, const void *base, size_t n, size_t size,                               int (*cmp)(const void *keyval, const void *datum))

base[0] ~ base[n-1] の中から *key に適合する項目を探す.関数cmp は,その最初の引数(検索キー)がその第 2 引数(表の項目)より小さいときには負の値,等しければゼロ,より大きいときにはせいの値を返すものでなければならない.また,配列 base 中の項目は昇順である必要がある.適合する項目がない,または適合した項目へのポインタがない場合は,NULL を返す.

time.h

time
time_t time(time_t *tp)

現在のカレンダー時間を返す.tp が NULL でない場合は *tp にも戻り値が割り当てられる.時間がわからない場合は -1 を返す.

clock
clock_t clock(void)

実行開始以来,プログラムで使われたプロセッサ時間(それがない場合は -1)を返す.clock() / CLOCKS_PER_SEC は実時間であり,単位は秒である.

difftime
double difftime(time_t time2, time_t time1)

time2 - time1 を返す.単位は秒.

mktime
time_t mktime(struct tm *tp)

構造体 *tp にあるローカル時間を,time によって使われるのと同じフォーマットのカレンダー時間に変換する.

asctime
char *asctime(const struct tm *tp)

構造体 *tp にある時間を "Sun Jan 3 15:14:13 1988\n" のような形の文字列に変換する.

ctime
char *ctime(const time_t *tp)

カレンダー時間 *tp をローカル時間に変換する.asctime(localtime(tp)) と同様である.

gmtime
struct tm *gmtime(const time_t *tp)

カレンダー時間を UTC に変換する.UTC が使えない場合は,NULL を返す.

localtime
struct tm *localtime(const time_t *tp)

カレンダー時間 *tp をローカル時間に変換する.

strftime
size_t strftime(char *s, size_t smax, const char *format, const struct tm *tp)

日付と時間の情報を *tp から format に従って書式化して s に入れる.