int printf(const char *format, ...)
printf( ... ) は fprintf(stdout, ... ) と同じ.
int fprintf(FILE *stream, const char *format, ...)
出力フォーマット format に従って stream に出力する.出力した文字数を返す.エラーの場合は負の数を返す.
int sprintf(char *s, const char *format, ...)
‘\0’を末尾に加えて文字列 s に書き出すこと以外は fprintf と同じ.返される文字数に‘\0’は含まない.
int vprintf(const char *format, va_list arg)
可変な引数リストが arg で置き換えられている点を除けば printf と同じ.
int vfprintf(FILE *stream, const char *format, va_list arg)
可変な引数リストが arg で置き換えられている点を除けば fprintf と同じ.
int vsprintf(char *s, const char *format, va_list arg)
可変な引数リストが arg で置き換えられている点を除けば sprintf と同じ.
int scanf(const char *format, ...)
scanf( ... ) は fscanf(stdin, ... ) と同じである.
int fscanf(FILE *stream, const char *format, ...)
出力フォーマット format に従って stream から読み込む.
int sscanf(char *s, const char *format, ...)
入力文字列が文字列 s から取られる以外は scanf と同じ.
int puts(const char *s)
文字列 s を標準出力に書き出す.
int fputs(int c, FILE *stream)
文字 c を stream に書き出す.失敗した場合は EOF を返す.
char *gets(char *s)
入力された文字列を配列 s に読み込む.末尾の‘\n’は削除され,‘\0’が追加される.
char *fgets(char *s, int n, FILE *stream)
最大 n-1 文字を stream から読み込み,末尾の‘\n’は削除されず,最後に‘\0’が加えられる.正常時は s を返す.ファイルの終わりかエラー発生時は NULL を返す.
int putchar(int c)
文字 c を標準出力に書き出す.成功した場合は非負の数,失敗した場合は EOF を返す.
int getchar(void)
標準入力の次の文字を符号なし文字を返す.失敗した場合は EOF を返す.
int fputc(int c, FILE *stream)
文字 c を stream に書き出す.成功時は非負の数,失敗時は EOF を返す.
int putc(int c, FILE *stream)
fputc と同じ.
int fgetc(FILE *stream)
stream から 1文字読み込み,それを返す.失敗時は EOF を返す.
int getc(FILE *stream)
fgetc と同じ.
int ungetc(int c, FILE *stream)
c を unsigned int に変換して stream 出力する.出力した文字を返す.エラーの場合は EOF を返す.
FILE *fopen(const char *filename, const char *mode)
ファイル filename をオープンし,ストリームを返す.オープンできなかった場合は NULL を返す.
FILE *freopen(const char *filename, const char *mode, FILE *stream)
指定されたモードでファイル filename を再オープンしストリームを返す.エラーの場合は NULL を返す.
int fclose(FILE *stream)
stream で指定されたファイルをクローズする.正常時はゼロ,エラー時は非ゼロを返す.
size_t fread(void *ptr, size_t size, size_t nobj, FILE *stream)
大きさ size のオブジェクト(最大 nobj 個)を stream から配列 ptr に読み込む.読み込まれたオブジェクトの数を返す.
size_t fwrite(const void *ptr, size_t size, size_t nobj, FILE *stream)
大きさ size のオブジェクト(最大 nobj 個)を 配列 ptr から stream に書き出す.書き出されたオブジェクトの数を返す.
int fseek(FILE *stream, long offset, int origin)
stream に対してファイルの位置をセットする.バイナリファイルに対しては,origin(SEEK_SET: 始め,SEEK_CUR: 現在位置,SEEL_END: ファイルの終わり)から offset はなれたところにセットする.テキストファイルの場合,offset はゼロ,又は ftell (このとき origin は SEEK_SET のみ可)で返される値でなければならない.エラーの場合非ゼロを返す.
long ftell(FILE *stream)
stream に対する現在のファイル位置を返す.エラーのときは負の数を返す.
void rewind(FILE *stream)
rewind(fp) は fseek(fp, 0L, SEEK_SET) clearerr(fp) と同じ.
int fgetpos(FILE *stream, fpos_t *ptr)
stream 内の現在位置を,後で fsetpos で使うため,*ptr に記録する.型 fpos はそうした値を記録するためのものである.エラー時に非ゼロを返す.
int fgetpos(FILE *stream, const fpos_t *ptr)
前に fgetpos で得られた stream 内の現在位置を,*ptr にセットする. 型 fpos はそうした値を記録するためのものである.エラー時に非ゼロを返す.
int fflushs(FILE *stream)
出力ストリームに対して,未書き込みのバッファを書き出す.入力ストリームに対しての動作は不定.正常に書き込んだ場合はゼロ,エラーが発生した場合は NULL を返す.
int remove(const char *filename)
まだ書き込まれていないデータを stream に書き出し,まだ読み込まれていないバッファ内の入力を捨て,自動的に割り当てられたバッファ内の入力を捨て,自動的に割り当てられたバッファをすべて開放し,ストリームをクローズする.エラーの場合はEOF,そうでないときは0を返す.
int rename(const char *oldname, const char *newname)
ファイル名oldnameをnewnameに変更する.エラーが発生した場合,非ゼロを返す.
FILE *tmpfile(void)
一時ファイル(プログラム終了時に自動的に削除される.モードは"wb+")を作成する.エラーが発生したらNULL,そうでなければストリームを返す.
char *tmpnam(char s[L_tmpnam])
既存のファイル名でない文字列を作成する.
int setvbuf(FILE *stream, char *buf, int mode, size_t size)
ストリームに対するバッファリングを制御する.これは,読み,書き,その他,全ての操作の前に呼び出さなければならない.mode は _IOFBFでフルバッファリング,_IOLBFでテキストファイルの行バッファリング,_IONBFでバッファリングなし,となる.buf がバッファとして使われる(NULLの場合は割り当てられる).そのバッファの大きさは size である.エラーの場合,非ゼロを返す.
void setbuf(FILE *stream, char *buf)
buf が NULL ならバッファリングオフ,そうでなければ (void)setvbuf(stream, buf, _IOFBF, BUFSIZE) と同様.
void clearerr(FILE *stream)
stream に対する終端指示子,エラー指示子をクリアする.
int feof(FILE *stream)
stream に対する終端指示子がセットされると,非ゼロを返す.
int ferror(FILE *stream)
stream に対するエラー指示子がセットされると,非ゼロを返す.
void perror(const char *s)
fprintf(stderr, "%s: %s\n", s, error mmessage) と同じ.
int isalnum(int c)
c がアルファベットか10進数なら真の値を返す.
int isalpha(int c)
c がアルファベットなら真の値を返す.
int iscntrl(int c)
c が制御文字なら真の値を返す.
int isdigit(int c)
c が10進数なら真の値を返す.
int isgraph(int c)
c がスペース以外の印刷可能文字なら真の値を返す.
int islower(int c)
c がアルファベットの小文字なら真の値を返す.
int isupper(int c)
c がアルファベットの大文字なら真の値を返す.
int isprint(int c)
c がスペースを含む印刷可能文字なら真の値を返す.
int ispunct(int c)
c がスペース,英字,数字以外の印刷可能文字なら真の値を返す.
int isspace(int c)
c がスペース,改ページ,改行,復帰,タブ,垂直タブなら真の値を返す.
int ispunct(int c)
c が16進数なら真の値を返す.
int tolower(int c)
c の小文字を返す.
int toupper(int c)
c の大文字を返す.
char *strcpy(char *s, const char *ct)
'\0'を含め,文字列 ct を s にコピーする.s を返す.
char *strncpy(char *s, const char *ct, int n)
'\0'を含め,文字列 ct を 最大 n 文字 s にコピーする.s を返す.
char *strcat(char *s, const char *ct)
文字列 ct を s に連結する.s を返す.
char *strncat(char *s, const char *ct, int n)
文字列 ct を 最大 n 文字 s にコピーし,'\0' を加える.s を返す.
int strcmp(const char *cs, const char *ct)
文字列 cs と 文字列 ct を比較する.cs > ct なら 0より大きい数,cs < ct なら 0未満の数,等しければ 0 を返す.
int strncmp(const char *cs, const char *ct, int)
文字列 cs と 文字列 ct の最大 n 字を比較する.cs > ct なら 0より大きい数,cs < ct なら 0未満の数,等しければ 0 を返す.
char *strchr(const char *cs, char c)
cs の中にある最初の c のポインタを返す.(なければ NULL を返す.)
char *strrchr(const char *cs, char c)
cs の中にある最後の c のポインタを返す.(なければ NULL を返す.)
size_t strspn(const char *cs, const char *ct)
ct に入っている文字からなる cs の接頭子の長さを返す.
size_t strcspn(const char *cs, const char *ct)
ct に入っていない文字からなる cs の接頭子の長さを返す.
char *strpbrk(const char *cs, const char *ct)
文字列 ct の任意の文字が,文字列 cs の中で最初に現れる位置へのポインタを返す.(ない場合は NULL を返す.)
char *strstr(const char *cs, const char *ct)
cs 中で文字列 ct が最初に現れる位置へのポインタを返す.(ない場合は NULL を返す.)
size_t strlen(const char *cs)
文字列 cs の長さを返す.('\0'を含めない長さ)
char *strerror(int n)
エラー n に対応する(処理系で定義された)文字列へのポインタを返す.
char *strtok(char *s, const char ct)
ct からの文字によって区切られるトークンが s の中で探される.
void *memcpy(char *s, const char *ct, int n)
ct の n 文字を s にコピーし,s を返す.
void *memmove(char *s, const char *ct, int n)
オブジェクトがオーバーラップしても動く点を除けば,memcpy と同じ.
int memcmp(const char *cs, const char *ct, int n)
cs の最初の n 文字を ct と比較する.cs < ct なら 0より大きい数,cs > ct なら 0未満の数,等しければ 0 を返す.
void *memchr(const char *ct, char c, int n)
ct のなかで,c が最初に現れる位置へのポインタを返す.(n 字以内にない場合は NULL を返す.)
void *memset(char *s, char c, int n)
s の最初の n 文字の中に,文字 c を入れる.s を返す.
double ceil(double x)
x より小さくない最小の整数を返す.
double floor(double x)
x より大きくない最大の整数を返す.
double fabs(double x)
x の絶対値を返す.
double exp(double x)
e の x 乗を返す.
double ldexp(double x, int n)
x と 2 のn 乗 をかけた値を返す.
double frexp(double x, int *exp)
x を [1/2, 1] の範囲に正規化された小数部(戻り値)と2のベキ(*expに格納)に分割する.x がゼロならば,結果は両方ゼロである.
double modf(double x, double *ip)
x をそれぞれ x と同じ符号を持つ整数部と小数部に分割する.整数部は *ip に格納し,小数部を返す.
double fmod(double x, double y)
x/y の浮動小数点余り.符号は x と同じ.(y = 0 のとき,結果は処理系依存)
double log(double x)
自然対数 ln(x) を返す.(x > 0)
double log(double x)
基底10対数 log10(x) を返す.(x > 0)
double pow(double x, double y)
x の y 乗 を返す.(x = 0 で y <= 0,または x < 0 で y が整数でないときはエラー.)
double sqrt(double x)
x の 0.5 乗 を返す.
double sin(double theta)
theataの正弦を返す.(theataの単位はラジアン)
double asin(double x)
アークサインxを返す.
double sinh(double theta)
theataの双曲線正弦を返す.(theataの単位はラジアン)
double cos(double theta)
theataの余弦を返す.(theataの単位はラジアン)
double acos(double x)
アークコサインxを返す.
double cosh(double theta)
theataの双曲線余弦を返す.(theataの単位はラジアン)
double tan(double theta)
theata の正接を返す.theata の単位はラジアンである.
double atan(double x)
アークタンジェント x を返す.
double atan2(double y, double x)
アークタンジェント y / x を返す.
double tanh(double theta)
theta の双曲線正接を返す.theta の単位はラジアンである.
int rand(void)
範囲 0 ~ RAND_MAX の擬似乱数を返す.
void srand(unsigned int seek)
rand の擬似乱数のシーケンスの開始点を seed で設定する.初期状態の seed は 1 である.
int atoi(const char *s)
s が表す int 型整数を返す.
long atoi(const char *s)
s が表す long 型整数を返す.
double atof(const char *s)
s が表す double 型整数を返す.
void *malloc(size_t size)
大きさが size のオブジェクトを入れるスペースのポインタを返す.失敗した場合は NULL を返す.
void *calloc(size_t nobj, size_t size)
それぞれの大きさが size である nobj 個のオブジェクトからなる配列を入れるためのスペースへのポインタを返す.失敗した場合は NULL を返す.
void *realloc(void *p, size_t size)
p によって示されるオブジェクトの大きさを size に変更する.失敗した場合は NULL を返す.
void free(void *p)
calloc,malloc,reallocで割り当てられたスペース p を解放する.p が NULL の場合は何も起こらない.
void qsort(void *base, size_t n, size_t size, int (*cmp)(const void *, const void *))
大きさが size のオブジェクト配列 base[0] ~ base[n-1] を昇順にソートする.
int abs(int n)
n の絶対値を返す.
long abs(long n)
n の絶対値を返す.
div_t div(int num, int denom)
num / denom の商とあまりを求めるために使用される.結果は,型 div_t の構造体のメンバ,quot および rem に格納される.
ldiv_t ldiv(long num, long denom)
div の long 版である.結果は,ldiv_t 型の構造体の long メンバである quot と rem に格納される.
void exit(int status)
プログラムを正常終了する.atexit で登録された関数が逆の順序で呼ばれ,オープンされているファイルは閉じられ,オープンストリームは閉じられ,制御は環境に戻される.環境に対して status がどう返されるかは処理系によるが,ゼロは正常終了を表す.status には EXIT_SUCCESS や EXIT_FAILURE も使用できる.
void abort(void)
raise(SIGABRT) と同じ.プログラムを異常終了する.
int atexit(void (*fcn)(void))
プログラムが正常終了したときに呼ばれる関数 fcn を登録する.
double strtod(const char *s, char **endp)
先頭の空白文字を無視して,s の接頭子を double 型に変換する.変換されなかった接尾子のポインタは *endp に格納される.endpがNULLの場合は,格納されない.答えがオーバーフローする場合は,HUGE_VAL が適当な符号とともに返される.答えがアンダーフローする場合は,ゼロを返す.いずれの場合も,errno が ERANGE にセットされる.
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 にセットされる.
unsigned long strtoul(const char *s, char **endp, int base)
unsigned long 版の strtol である.結果が unsigned long になり,エラー値がULONG_MAXになる.
int system(const char *s)
文字列 s を実行環境に渡す.s が NULL のときは,コマンドプロセッサがあれば,非ゼロを返す.s が NULL でないときは,戻り値は処理系に依存する.
char *getenv(const char *name)
name で表される環境文字列,あるいは文字列が存在しないときには,NULL を返す.その詳細は処理系依存である.
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_t time(time_t *tp)
現在のカレンダー時間を返す.tp が NULL でない場合は *tp にも戻り値が割り当てられる.時間がわからない場合は -1 を返す.
clock_t clock(void)
実行開始以来,プログラムで使われたプロセッサ時間(それがない場合は -1)を返す.clock() / CLOCKS_PER_SEC は実時間であり,単位は秒である.
double difftime(time_t time2, time_t time1)
time2 - time1 を返す.単位は秒.
time_t mktime(struct tm *tp)
構造体 *tp にあるローカル時間を,time によって使われるのと同じフォーマットのカレンダー時間に変換する.
char *asctime(const struct tm *tp)
構造体 *tp にある時間を "Sun Jan 3 15:14:13 1988\n" のような形の文字列に変換する.
char *ctime(const time_t *tp)
カレンダー時間 *tp をローカル時間に変換する.asctime(localtime(tp)) と同様である.
struct tm *gmtime(const time_t *tp)
カレンダー時間を UTC に変換する.UTC が使えない場合は,NULL を返す.
struct tm *localtime(const time_t *tp)
カレンダー時間 *tp をローカル時間に変換する.
size_t strftime(char *s, size_t smax, const char *format, const struct tm *tp)
日付と時間の情報を *tp から format に従って書式化して s に入れる.