標準 C ライブラリー関数表 (名前順)

この表では、C ライブラリーをアルファベット順にリストして、簡単な説明を行っています。 この表には、各関数のインクルード・ファイル名および関数プロトタイプが記載されています。

表 1. 標準 C ライブラリー関数
関数 システム・インクルード・ファイル 関数プロトタイプ 説明
abort stdlib.h void abort(void); プログラムを異常終了します。
abs stdlib.h int abs(int n); 整数の引数 n の絶対値を計算します。
acos math.h double acos(double x); x のアークコサインを計算します。
asctime time.h char *asctime(const struct tm *time); 構造体として保管されている time を、文字ストリングに変換します。
asctime_r time.h char *asctime_r(const struct tm *tm, char *buf); 構造体として保管されている tm を、文字ストリングに変換します。 (asctime の再始動可能バージョン。)
asin math.h double asin(double x); x のアークサインを計算します。
assert assert.h void assert(int expression); 式が false の場合に、診断メッセージを出力してプログラムを終了します。
atan math.h double atan(double x); x のアークタンジェントを計算します。
atan2 math.h double atan2(double y, double x); y/x のアークタンジェントを計算します。
atexit stdlib.h int atexit(void (*func)(void)); 正常終了時に呼び出される関数を登録します。
atof stdlib.h double atof(const char *string); string を、倍精度の浮動小数点値に変換します。
atoi stdlib.h int atoi(const char *string); string を整数に変換します。
atol stdlib.h long int atol(const char *string); string を long 型整数に変換します。
bsearch stdlib.h void *bsearch(const void *key, const void *base, size_t num, size_t size, int (*compare) (const void *element1, const void *element2)); num エレメント (それぞれ size バイト) の配列のバイナリー・サーチを行います。 この配列は、compare で示される関数によって、昇順でソートする必要があります。
btowc

stdio.h
wchar.h

wint_t btowc(int c); 初期シフト状態時に、c が有効なマルチバイト文字で構成されているかどうかを判別します。
calloc stdlib.h void *calloc(size_t num, size_t size); num エレメント (それぞれのサイズが size である) 用のストレージ・スペースを予約して、すべてのエレメントの値を 0 に初期化します。
catclose6 nl_types.h int catclose (nl_catd catd); すでにオープンされているメッセージ・カタログをクローズします。
catgets6 nl_types.h char *catgets(nl_catd catd, int set_id, int msg_id, const char *s); オープンされているメッセージ・カタログから、メッセージを取得します。
catopen6 nl_types.h nl_catd catopen(const char *name, int oflag); メッセージ・カタログをオープンします (メッセージが取得される前に行う必要があります)。
ceil math.h double ceil(double x); x 以上の最小整数を表す double 値を計算します。
clearerr stdio.h void clearerr(FILE *stream); stream のエラー標識およびファイル終了標識をリセットします。
clock time.h clock_t clock(void); ジョブ開始後に経過したプロセッサー時間を戻します。
cos math.h double cos(double x); x のコサインを計算します。
cosh math.h double cosh(double x); x の双曲線コサインを計算します。
ctime time.h char *ctime(const time_t *time); time を文字ストリングに変換します。
ctime64 time.h char *ctime64(const time64_t *time); time を文字ストリングに変換します。
ctime_r time.h char *ctime_r(const time_t *time, char *buf); time を文字ストリングに変換します。 (ctime の再始動可能バージョン。)
ctime64_r time.h char *ctime64_r(const time64_t *time, char *buf); time を文字ストリングに変換します。 (ctime64 の再始動可能バージョン。)
difftime time.h double difftime(time_t time2, time_t time1); time2time1 との差を計算します。
difftime64 time.h double difftime64(time64_t time2, time64_t time1); time2time1 との差を計算します。
div stdlib.h div_t div(int numerator, int denominator); numeratordenominator で割った商および剰余を計算します。
erf math.h double erf(double x); x の誤差関数を計算します。
erfc math.h double erfc(double x); x のラージ値の誤差関数を計算します。
exit stdlib.h void exit(int status); プログラムを正常に終了します。
exp math.h double exp(double x); 浮動小数点引数 x の指数関数を計算します。
fabs math.h double fabs(double x); 浮動小数点引数 x の絶対値を計算します。
fclose stdio.h int fclose(FILE *stream); 指定された stream をクローズします。
fdopen5 stdio.h FILE *fdopen(int handle, const char *type); 入力ストリームまたは出力ストリームを、ハンドルで判別されたファイルに関連付けます。
feof stdio.h int feof(FILE *stream); 指定された stream にファイル終了フラグが設定されているかどうか、テストします。
ferror stdio.h int ferror(FILE *stream); stream からの読み取り中または書き込み中でのエラー標識をテストします。
fflush1 stdio.h int fflush(FILE *stream); 出力 stream に関連するバッファーの内容を書き込みます。
fgetc1 stdio.h int fgetc(FILE *stream); 入力 stream から単一の符号なし文字を読み取ります。
fgetpos1 stdio.h int fgetpos(FILE *stream, fpos_t *pos); stream に関連するファイル・ポインターの現在位置を、pos が示すオブジェクトに保管します。
fgets1 stdio.h char *fgets(char *string, int n, FILE *stream); 入力 stream からストリングを読み取ります。
fgetwc6

stdio.h
wchar.h

wint_t fgetwc(FILE *stream); stream が指す入力ストリームから、次に来るマルチバイト文字を読み取ります。
fgetws6

stdio.h
wchar.h

wchar_t *fgetws(wchar_t *wcs, int n, FILE *stream); ストリームからのワイド文字を読み取って、wcs が示す配列にします。
fileno5 stdio.h int fileno(FILE *stream); stream に現在関連付けられているファイル・ハンドルを判別します。
floor math.h double floor(double x); x 以下の最大整数を表す浮動小数点値を計算します。
fmod math.h double fmod(double x, double y); x/y の剰余の浮動小数点を計算します。
fopen stdio.h FILE *fopen(const char *filename, const char *mode); 指定されたファイルをオープンします。
fprintf stdio.h int fprintf(FILE *stream, const char *format-string, arg-list); 文字および値をフォーマット設定して、出力 stream にプリントします。
fputc1 stdio.h int fputc(int c, FILE *stream); 出力 stream に文字をプリントします。
fputs1 stdio.h int fputs(const char *string, FILE *stream); 出力 stream にストリングをコピーします。
fputwc6

stdio.h
wchar.h

wint_t fputwc(wchar_t wc, FILE *stream); ワイド文字 wc をマルチバイト文字に変換して、それを現在位置の stream が指した出力ストリームに書き込みます。
fputws6

stdio.h
wchar.h

int fputws(const wchar_t *wcs, FILE *stream); ワイド文字ストリング wcs をマルチバイト文字ストリングに変換し、マルチバイト文字ストリングとして stream に書き込みます。
fread stdio.h size_t fread(void *buffer, size_t size, size_t count, FILE *stream); 入力 stream から、最大 count 項目 (長さは size) までを読み取って、buffer に保管します。
解放 stdlib.h void free(void *ptr); ストレージのブロックを解放します。
freopen stdio.h FILE *freopen(const char *filename, const char *mode, FILE *stream); stream をクローズし、指定されたファイルに再割り当てします。
frexp math.h double frexp(double x, int *expptr); 浮動小数点数を小数部と指数とに分離します。
fscanf stdio.h int fscanf(FILE *stream, const char *format-string, arg-list); stream からデータを読み取って、arg-list が指定した位置に置きます。
fseek1 stdio.h int fseek(FILE *stream, long int offset, int origin); stream に関連付けられた現行のファイル位置を、新しい位置に変更します。
fsetpos1 stdio.h int fsetpos(FILE *stream, const fpos_t *pos); 現行のファイル位置を、pos により判別された新しい位置に移動します。
ftell1 stdio.h long int ftell(FILE *stream); ファイル・ポインターの現在位置を取得します。
fwide6

stdio.h
wchar.h

int fwide(FILE *stream, int mode); stream が示すストリームの方向を判別します。
fwprintf6

stdio.h
wchar.h

int fwprintf(FILE *stream, const wchar_t *format, arg-list); stream が示すストリームへの出力を書き込みます。
fwrite stdio.h size_t fwrite(const void *buffer, size_t size,size_t count, FILE *stream); buffer から stream まで、最大 count 項目 (長さは size) までを書き込みます。
fwscanf6

stdio.h
wchar.h

int fwscanf(FILE *stream, const wchar_t *format, arg-list) stream が示すストリームから、入力を読み取ります。
gamma math.h double gamma(double x); ガンマ関数を計算します
getc1 stdio.h int getc(FILE *stream); 入力 stream から、単一の文字を読み取ります。
getchar1 stdio.h int getchar(void); stdin.から、単一の文字を読み取ります。
getenv stdlib.h char *getenv(const char *varname); varname の環境変数を検索します。
gets stdio.h char *gets(char *buffer); stdin からストリングを読み取り、buffer に保管します。
getwc6

stdio.h
wchar.h

wint_t getwc(FILE *stream); 次に来るマルチバイト文字を stream から読み取り、ワイド文字に変換して、stream の関連するファイル位置標識を前に進めます。
getwchar6 wchar.h wint_t getwchar(void); 次のマルチバイト文字を stdin から読み取り、それをワイド文字に変換し、stdin の関連するファイル位置標識を前に進めます。
gmtime time.h struct tm *gmtime(const time_t *time); time 値を tm 型の構造体に変換します。
gmtime64 time.h struct tm *gmtime64(const time64_t *time); time 値を tm 型の構造体に変換します。
gmtime_r time.h struct tm *gmtime_r(const time_t *time, struct tm *result); time 値を tm 型の構造体に変換します。 (gmtime の再始動可能バージョン。)
gmtime64_r time.h struct tm *gmtime64_r(const time64_t *time, struct tm *result); time 値を tm 型の構造体に変換します。 (gmtime64 の再始動可能バージョン。)
hypot math.h double hypot(double side1, double side2); 長さ side1 および side2 の二辺を持つ直角三角形の、斜辺の長さを計算します。
isalnum ctype.h int isalnum(int c); c が英数字かどうかをテストします。
isalpha ctype.h int isalpha(int c); c が英字かどうかをテストします。
isascii4 ctype.h int isascii(int c); 7 ビットの US-ASCII の範囲内に c があるかどうか、テストします。
isblank ctype.h int isblank(int c); c がブランク文字またはタブ文字であるかどうか、テストします。
iscntrl ctype.h int iscntrl(int c); c が制御文字であるかどうかをテストします。
isdigit ctype.h int isdigit(int c); c が 10 進数であるかどうかをテストします。
isgraph ctype.h int isgraph(int c); c が印刷可能文字 (スペース以外) であるかどうかをテストします。
islower ctype.h int islower(int c); c が小文字であるかどうかをテストします。
isprint ctype.h int isprint(int c); c が印刷可能文字 (スペースも含む) であるかどうかをテストします。
ispunct ctype.h int ispunct(int c); c が句読文字であるかどうかをテストします。
isspace ctype.h int isspace(int c); c が空白文字であるかどうかをテストします。
isupper ctype.h int isupper(int c); c が大文字であるかどうかをテストします。
iswalnum4 wctype.h int iswalnum (wint_t wc); 英数字のワイド文字の有無をチェックします。
iswalpha4 wctype.h int iswalpha(wint_t wc); 英字のワイド文字の有無をチェックします。
iswblank4 wctype.h int iswblank(wint_t wc); ブランク文字またはタブ・ワイド文字の有無をチェックします。
iswcntrl4 wctype.h int iswcntrl(wint_t wc); 制御ワイド文字の有無をテストします。
iswctype4 wctype.h int iswctype(wint_t wc, wctype_t wc_prop); ワイド文字 wc にプロパティー wc_prop があるかどうかを判別します。
iswdigit4 wctype.h int iswdigit(wint_t wc); 10 進数のワイド文字の有無をチェックします。
iswgraph4 wctype.h int iswgraph(wint_t wc); 印刷ワイド文字 (ワイド文字スペースを除く) の有無をチェックします。
iswlower4 wctype.h int iswlower (wint_t wc); 小文字のワイド文字の有無をチェックします。
iswprint4 wctype.h int iswprint(wint_t wc); 印刷ワイド文字の有無をチェックします。
iswpunct4 wctype.h int iswpunct(wint_t wc); 非英数字で非スペースのワイド文字の有無をテストします。
iswspace4 wctype.h int iswspace(wint_t wc); iswalnum が false で、インプリメンテーションで定義された一連のワイド文字に対応する、ワイド文字の有無をチェックします。
iswupper4 wctype.h int iswupper(wint_t wc); 大文字のワイド文字の有無をチェックします。
iswxdigit4 wctype.h int iswxdigit(wint_t wc); 16 進数の文字の有無をチェックします。
isxdigit4 wctype.h int isxdigit(int c); c が 16 進数であるかどうかをテストします。
j0 math.h double j0(double x); 最初の順序の種類が 0 のベッセル関数値を計算します。
j1 math.h double j1(double x); 最初の順序の種類が 1 のベッセル関数値を計算します。
jn math.h double jn(int n, double x); 最初の順序の種類が n のベッセル関数値を計算します。
labs stdlib.h long int labs(long int n); n の絶対値を計算します。
ldexp math.h double ldexp(double x, int exp); 乗算された x (2 の exp 乗) の値を戻します。
ldiv stdlib.h ldiv_t ldiv(long int numerator, long int denominator); numeratordenominator で割った商および余りを計算します。
localeconv locale.h struct lconv *localeconv(void); 現行のロケールに従って、struct lconv の数量をフォーマット設定します。
現地時間 time.h struct tm *localtime(const time_t *timeval); timeval を tm 型の構造体に変換します。
localtime64 time.h struct tm *localtime64(const time64_t *timeval); timeval を tm 型の構造体に変換します。
localtime_r time.h struct tm *localtime_r(const time_t *timeval, struct tm *result); time 値を tm 型の構造体に変換します。 (localtime の再始動可能バージョン。)
localtime64_r time.h struct tm *localtime64_r (const time64_t *timeval, struct tm *result); time 値を tm 型の構造体に変換します。 (localtime64 の再始動可能バージョン。)
log math.h double log(double x); x の自然対数を計算します。
log10 math.h double log10(double x); 10 を底とする x の対数を計算します。
longjmp setjmp.h void longjmp(jmp_buf env, int value); 以前に setjmp 関数によって env に設定されたスタック環境を復元します。
malloc stdlib.h void *malloc(size_t size); ストレージのブロックを予約します。
mblen stdlib.h int mblen(const char *string, size_t n); マルチバイト文字 string の長さを判別します。
mbrlen4 wchar.h int mbrlen (const char *s, size_t n, mbstate_t *ps); マルチバイト文字の長さを判別します。 (mblen の再始動可能バージョン。)
mbrtowc4 wchar.h int mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps); マルチバイト文字をワイド文字に変換します。(mbtowc の再始動可能バージョン。)
mbsinit4 wchar.h int mbsinit (const mbstate_t *ps); 状態オブジェクト *ps が初期状態であるかどうかをテストします。
mbsrtowcs4 wchar.h size_t mbsrtowc (wchar_t *dst, const char **src, size_t len, mbstate_t *ps); マルチバイト・ストリングをワイド文字ストリングに変換します。 (mbstowcs の再始動可能バージョン。)
mbstowcs stdlib.h size_t mbstowcs(wchar_t *pwc, const char *string, size_t n); string のマルチバイト文字を、対応する wchar_t コードに変換し、n 以下のコードを pwc に保管します。
mbtowc stdlib.h int mbtowc(wchar_t *pwc, const char *string, size_t n); 最初の n バイトのマルチバイト文字 string に対応する wchar_t コードを、wchar_t 文字 pwc に保管します。
memchr string.h void *memchr(const void *buf, int c, size_t count); buf の最初の count バイトを検索して、符号なし文字に変換される c が最初に現れる位置を調べます。
memcmp string.h int memcmp(const void *buf1, const void *buf2, size_t count); buf1buf2 を、最大 count バイトまで比較します。
memcpy string.h void *memcpy(void *dest, const void *src, size_t count); count バイト分の src を、dest にコピーします。
memmove string.h void *memmove(void *dest, const void *src, size_t count); count バイト分の src を、dest にコピーします。オーバーラップするオブジェクト間でのコピーを許可します。
memset string.h void *memset(void *dest, int c, size_t count); count バイト分の dest を、値 c に設定します。
mktime time.h time_t mktime(struct tm *time); ローカル time を、カレンダー時間に変換します。
mktime64 time.h time64_t mktime64(struct tm *time); ローカル time を、カレンダー時間に変換します。
modf math.h double modf(double x, double *intptr); 浮動小数点値の x を小数と整数の部分に分けます。
nextafter math.h double nextafter(double x, double y); y の方向で x の後にくる、次の表現可能な値を計算します。
nextafterl math.h long double nextafterl(long double x, long double y); y の方向で x の後にくる、次の表現可能な値を計算します。
nexttoward math.h double nexttoward(double x, long double y); y の方向で x の後にくる、次の表現可能な値を計算します。
nexttowardl math.h long double nexttowardl(long double x, long double y); y の方向で x の後にくる、次の表現可能な値を計算します。
nl_langinfo4 langinfo.h char *nl_langinfo(nl_item item); item が指定した要求情報が記述されているストリングを、現行ロケールから検索します。
perror stdio.h void perror(const char *string); エラー・メッセージを stderr に出力します。
pow math.h double pow(double x, double y); xy 乗の値を計算します。
printf stdio.h int printf(const char *format-string, arg-list); 文字および値をフォーマット設定し、stdout にプリントします。
putc1 stdio.h int putc(int c, FILE *stream); 出力 streamc をプリントします。
putchar1 stdio.h int putchar(int c); stdout に c をプリントします。
putenv stdlib.h int *putenv(const char *varname); 既存の変数を変更するか、新しい変数を作成することにより、環境変数の値を設定します。
puts stdio.h int puts(const char *string); ストリングを stdout に出力します。
putwc6

stdio.h
wchar.h

wint_t putwchar(wchar_t wc, FILE *stream); ワイド文字 wc をマルチバイト文字に変換し、現在位置のストリームに書き込みます。
putwchar6 wchar.h wint_t putwchar(wchar_t wc); ワイド文字 wc をマルチバイト文字に変換し、stdout に書き込みます。
qsort stdlib.h void qsort(void *base, size_t num, size_t width, int(*compare)(const void *element1, const void *element2)); num エレメント (それぞれのサイズは width バイト) の配列のクイック・ソートを実行します。
quantexpd32 math.h _Decimal32 quantized32(_Decimal32 x, _Decimal32 y); 単精度の 10 進浮動小数点値の量子指数を計算します。
quantexpd64 math.h _Decimal64 quantized64(_Decimal64 x, _Decimal64 y); 倍精度の 10 進浮動小数点値の量子指数を計算します。
quantexpd128 math.h _Decimal128 quantized128(_Decimal128 x, _Decimal128 y); 4 倍精度の 10 進浮動小数点値の量子指数を計算します。
quantized32 math.h int quantexpd32(_Decimal32 x); 単精度の 10 進浮動小数点値の量子指数を、別の単精度の 10 進浮動小数点値の量子指数に設定します。
quantized64 math.h int quantexpd64(_Decimal64 x); 倍精度の 10 進浮動小数点値の量子指数を、別の倍精度の 10 進浮動小数点値の量子指数に設定します。
quantized128 math.h int quantexpd128(_Decimal128 x); 4 倍精度の 10 進浮動小数点値の量子指数を、別の 4 倍精度の 10 進浮動小数点値の量子指数に設定します。
samequantumd32 math.h __bool__ samequantumd32(_Decimal32 x, _Decimal32 y); 2 つの単精度の 10 進浮動小数点値の量子指数が同一であるかどうかを判別します。
samequantumd64 math.h __bool__ samequantumd64(_Decimal64 x, _Decimal64 y); 2 つの倍精度の 10 進浮動小数点値の量子指数が同一であるかどうかを判別します。
samequantumd128 math.h __bool__ samequantumd128(_Decimal128 x, _Decimal128 y); 2 つの 4 倍精度の 10 進浮動小数点値の量子指数が同一であるかどうかを判別します。
raise signal.h int raise(int sig); 実行中のプログラムに、シグナル sig を送信します。
rand stdlib.h int rand(void); 疑似乱数整数を戻します。
rand_r stdlib.h int rand_r(void); 疑似乱数整数を戻します。 (再始動可能バージョン)
realloc stdlib.h void *realloc(void *ptr, size_t size); 直前に予約されていたストレージ・ブロックの size を変更します。
regcomp regex.h int regcomp(regex_t *preg, const char *pattern, int cflags); pattern が示す送信元正規表現を、実行可能バージョンにコンパイルして、preg が示す場所に保管します。
regerror regex.h size_t regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size); 正規表現 preg 用のエラー・コード errcode の記述を検索します。
regexec regex.h int regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t *pmatch, int eflags); ヌル終了ストリング string とコンパイル済み正規表現 preg とを比較して、両者の間に一致箇所を見つけます。
regfree regex.h void regfree(regex_t *preg); regcomp により割り当てられたメモリーをすべて解放し、正規表現 preg をインプリメントします。
remove stdio.h int remove(const char *filename); filename で指定したファイルを削除します。
rename stdio.h int rename(const char *oldname, const char *newname); 指定されたファイルを名前変更します。
rewind1 stdio.h void rewind(FILE *stream); stream に関連付けられたファイル・ポインターを、ファイルの先頭に位置変更します。
scanf stdio.h int scanf(const char *format-string, arg-list); stdin から arg-list が指定した場所へ、データを読み取ります。
setbuf stdio.h void setbuf(FILE *stream, char *buffer); stream のバッファリングを制御します。
setjmp setjmp.h int setjmp(jmp_buf env); 今後 longjmp によって復元できるスタック環境を保存します。
setlocale locale.h char *setlocale(int category, const char *locale); locale で定義された変数について、変更または照会を行います。
setvbuf stdio.h int setvbuf(FILE *stream, char *buf, int type, size_t size); stream のバッファリングおよびバッファーの size を制御します。
signal signal.h void(*signal(int sig, void(*func)(int)))(int); シグナル sig のシグナル・ハンドラーとして、func を登録します。
sin math.h double sin(double x); x のサインを計算します。
sinh math.h double sinh(double x); x の双曲線サインを計算します。
snprintf stdio.h int snprintf(char *outbuf, size_t n, const char*, ...) sprintf と同じです。 ただし、outbuf に n 文字書き込まれると、関数が停止します。
sprintf stdio.h int sprintf(char *buffer, const char *format-string, arg-list); 文字および値をフォーマット設定し、buffer に保管します。
sqrt math.h double sqrt(double x); x の平方根を計算します。
srand stdlib.h void srand(unsigned int seed); 疑似乱数生成プログラムの seed を設定します。
sscanf stdio.h int sscanf(const char *buffer, const char *format, arg-list); buffer から arg-list が指定した場所に、データを読み取ります。
strcasecmp strings.h int srtcasecmp(const char *string1, const char *string2); 大/小文字を区別しないで、ストリングを比較します。
strcat string.h char *strcat(char *string1, const char *string2); string2string1 に連結します。
strchr string.h char *strchr(const char *string, int c); string 内で c が最初に現れる位置を見つけます。
strcmp string.h int strcmp(const char *string1, const char *string2); string1 の値を string2 と比較します。
strcoll string.h int strcoll(const char *string1, const char *string2); 現行ロケールで照合シーケンスを使用して、2 つのストリングを比較します。
strcpy string.h char *strcpy(char *string1, const char *string2); string2string1 にコピーします。
strcspn string.h size_t strcspn(const char *string1, const char *string2); string2 に含まれていない文字から構成される、string1 の初期サブストリングの長さを戻します。
strerror string.h char *strerror(int errnum); errnum のエラー番号を、エラー・メッセージ・ストリング にマップします。
strfmon4 wchar.h int strfmon (char *s, size_t maxsize, const char *format, ...); 通貨の値をストリングに変換します。
strftime time.h size_t strftime (char *dest, size_t maxsize, const char *format, const struct tm *timeptr); format が判別したストリングに従って、dest が示す配列で文字を保管します。
strlen string.h size_t strlen(const char *string); string の長さを計算します。
strncasecmp strings.h int strncasecmp(const char *string1, const char *string2, size_t count); 大/小文字を区別しないで、ストリングを比較します。
strncat string.h char *strncat(char *string1, const char *string2, size_t count); 最大 count 文字までの string2 を、string1 に連結します。
strncmp string.h int strncmp(const char *string1, const char *string2, size_t count); string1string2 を、最大 count 文字まで比較します。
strncpy string.h char *strncpy(char *string1, const char *string2, size_t count); 最大 count 文字までの string2 を、string1 にコピーします。
strpbrk string.h char *strpbrk(const char *string1, const char *string2); string2 内の文字が string1 内で最初に現れる位置を見つけます。
strptime4 time.h char *strptime (const char *buf, const char *format, struct tm *tm); 日付および時刻の変換
strrchr string.h char *strrchr(const char *string, int c); string 内で c が最後に現れる位置を見つけます。
strspn string.h size_t strspn(const char *string1, const char *string2); string2 に含まれている文字から構成される、string1 の初期サブストリングの長さを戻します。
strstr string.h char *strstr(const char *string1, const char *string2); string1 において string2 が最初に現れる位置へのポインターを戻します。
strtod stdlib.h double strtod(const char *nptr, char **endptr); nptr を倍精度の値に変換します。
strtod32 stdlib.h _Decimal32 strtod32(const char *nptr, char **endptr); nptr を、単精度の 10 進浮動小数点値に変換します。
strtod64 stdlib.h _Decimal64 strtod64(const char *nptr, char **endptr); nptr を、倍精度の 10 進浮動小数点値に変換します。
strtod128 stdlib.h _Decimal128 strtod128(const char *nptr, char **endptr); nptr を、4 倍精度の 10 進浮動小数点値に変換します。
strtof stdlib.h float strtof(const char *nptr, char **endptr); nptr を float 型の値に変換します。
strtok string.h char *strtok(char *string1, const char *string2); string2 内の次の区切り文字で区切られている、string1 の次のトークンの位置を見つけます。
strtok_r string.h char *strtok_r(char *string, const char *seps, char **lasts); seps 内の次の区切り文字で区切られている、string 内の次のトークンの位置を見つけます。 (strtok の再始動可能バージョン。)
strtol stdlib.h long int strtol(const char *nptr, char **endptr, int base); nptr を、符号付き long 型整数に変換します。
strtold stdlib.h long double strtold(const char *nptr, char **endptr); nptr を long double 型の値に変換します。
strtoul stdlib.h unsigned long int strtoul(const char *string1, char **string2, int base); string1 を、符号なしの long 型整数に変換します。
strxfrm string.h size_t strxfrm(char *string1, const char *string2, size_t count); string2 を変換して、結果を string1 内に配置します。 プログラムの現行ロケールによって、変換の判別が行われます。
swprintf wchar.h int swprintf(wchar_t *wcsbuffer, size_t n, const wchar_t *format, arg-list); 一連のワイド文字と値をフォーマット設定して、ワイド文字バッファー wcsbuffer に保管します。
swscanf wchar.h int swscanf (const wchar_t *buffer, const wchar_t *format, arg-list) buffer から arg-list が指定した場所に、データを読み取ります。
system stdlib.h int system(const char *string); システム・コマンド分析プログラムに string を受け渡します。
tan math.h double tan(double x); x のタンジェントを計算します。
tanh math.h double tanh(double x); x の双曲線タンジェントを計算します。
time time.h time_t time(time_t *timeptr); 現在のカレンダー時間を戻します。
time64 time.h time64_t time64(time64_t *timeptr); 現在のカレンダー時間を戻します。
tmpfile stdio.h FILE *tmpfile(void); 一時バイナリー・ファイルを作成して、オープンします。
tmpnam stdio.h char *tmpnam(char *string); 一時ファイル名を生成します。
toascii ctype.h int toascii(int c); 7 ビットの US-ASCII 文字セットの文字に c を変換します。
tolower ctype.h int tolower(int c); c を小文字に変換します。
toupper ctype.h int toupper(int c); c を大文字に変換します。
towctrans wctype.h wint_t towctrans(wint_t wc, wctrans_t desc); desc で記述されたマッピングを基に、ワイド文字 wc を変換します。
towlower4 wctype.h wint_t towlower(wint_t wc); 大文字を小文字に変換します。
towupper4 wctype.h wint_t towupper(wint_t wc); 小文字を大文字に変換します。
ungetc1 stdio.h int ungetc(int c, FILE *stream); c を入力 stream にプッシュ・バックします。
ungetwc6

stdio.h
wchar.h

wint_t ungetwc(wint_t wc, FILE *stream); ワイド文字 wc を入力ストリームにプッシュ・バックします。
va_arg stdarg.h var_type va_arg(va_list arg_ptr, var_type); ある引数の値を戻し、その次の引数を指すように arg_ptr を変更します。
va_copy stdarg.h void va_copy(va_list dest, va_list src); destsrc のコピーとして初期化します。
va_end stdarg.h void va_end(va_list arg_ptr); 変数の引数リスト処理から正常に戻るようにします。
va_start stdarg.h void va_start(va_list arg_ptr, variable_name); arg_ptr を初期化して、以降 va_arg および va_end によって使用できるようにします。
vfprintf stdio.h stdarg.h int vfprintf(FILE *stream, const char *format, va_list arg_ptr); 文字のフォーマット設定を行い、引数の可変値を使用して出力 stream に出力します。
vfscanf stdio.h stdarg.h int vfscanf(FILE *stream, const char *format, va_list arg_ptr); 指定されたストリームから、引数の可変値により指定されたロケーションに、データを読み取ります。
vfwprintf6

stdarg.h
stdio.h
wchar.h

int vfwprintf(FILE *stream, const wchar_t *format, va_list arg); fwprintf と同じです。ただし、変数の引数リストが arg によって置き換えられる点が異なります。
vfwscanf stdio.h stdarg.h int vfwscanf(FILE *stream, const wchar_t *format, va_list arg_ptr); 指定されたストリームから、引数の可変値により指定されたロケーションに、ワイド・データを読み取ります。
vprintf stdio.h stdarg.h int vprintf(const char *format, va_list arg_ptr); 引数の可変値を使用して、文字をフォーマット設定し、stdout にプリントします。
vscanf stdio.h stdarg.h int vscanf(const char *format, va_list arg_ptr); stdin から引数の可変値が指定した場所に、データを読み取ります。
vsprintf stdio.h stdarg.h int vsprintf(char *target-string, const char *format, va_list arg_ptr); 引数の可変値を使用して、文字をフォーマット設定し、バッファーに保管します。
vsnprintf stdio.h int vsnprintf(char *outbuf, size_t n, const char*, va_list); vsprintf と同じです。ただし、outbuf に n 文字書き込まれた後に関数が停止する点が異なります。
vsscanf stdio.h stdarg.h int vsscanf(const char*buffer, const char *format, va_list arg_ptr); バッファーから、引数の可変値により指定されたロケーションに、データを書き込みます。
vswprintf

stdarg.h
wchar.h

int vswprintf(wchar_t *wcsbuffer, size_t n, const wchar_t *format, va_list arg); 一連のワイド文字および値をフォーマット設定し、バッファー wcsbuffer に保管します。
vswscanf stdio.h wchar.h int vswscanf(const wchar_t *buffer, const wchar_t *format, va_list arg_ptr); バッファーから、引数の可変値により指定されたロケーションに、ワイド・データを読み取ります。
vwprintf6

stdarg.h
wchar.h

int vwprintf(const wchar_t *format, va_list arg); wprintf と同じです。ただし、変数の引数リストが arg により置き換えられる点が異なります。
vwscanf stdio.h wchar.h int vwscanf(const wchar_t *format, va_list arg_ptr); stdin から引数の可変値が指定した場所に、ワイド・データを読み取ります。
wcrtomb4 wchar.h int wcrtomb (char *s, wchar_t wchar, mbstate_t *pss); ワイド文字をマルチバイト文字に変換します。 (wctomb の再始動可能バージョン)
wcscat wchar.h wchar_t *wcscat(wchar_t *string1, const wchar_t *string2); string2 が指すストリングのコピーを string1 が指すストリングの終わりに付 加します。
wcschr wchar.h wchar_t *wcschr(const wchar_t *string, wchar_t character); string が示すワイド文字ストリングを検索して、character が出現しているかどうかを調べます。
wcscmp wchar.h int wcscmp(const wchar_t *string1, const wchar_t *string2); 2 つのワイド文字ストリング *string1*string2 を比較します。
wcscoll4 wchar.h int wcscoll (const wchar_t *wcs1, const wchar_t *wcs2); 現行ロケールで照合シーケンスを使用して、2 つのワイド文字ストリングを比較します。
wcscpy wchar.h wchar_t *wcscpy(wchar_t *string1, const wchar_t *string2); *string2 の内容 (最後の wchar_t null 文字を含む) を *string1 にコピーします。
wcscspn wchar.h size_t wcscspn(const wchar_t *string1, const wchar_t *string2); *string2 が示すストリングに現れない、*string1 が示すストリングの初期セグメントにおける、wchar_t の文字数を判別します。
wcsftime wchar.h size_t wcsftime(wchar_t *wdest, size_t maxsize, const wchar_t *format, const struct tm *timeptr); timeptr 構造体の時間および日付の仕様を、ワイド文字ストリングに変換します。
wcslen wchar.h size_t wcslen(const wchar_t *string); string が示すストリングのワイド文字数を計算します。
wcslocaleconv locale.h struct wcslconv *wcslocaleconv(void); 現行ロケールに従って struct wcslconv の数量のフォーマット設定を行います。
wcsncat wchar.h wchar_t *wcsncat(wchar_t *string1, const wchar_t *string2, size_t count); string2 のワイド文字を、最長 count 文字分 string1 の最後に追加し、その結果に wchar_t null 文字を追加します。
wcsncmp wchar.h int wcsncmp(const wchar_t *string1, const wchar_t *string2, size_t count); string1 から string2 間の最大の count ワイド文字までを比較します。
wcsncpy wchar.h wchar_t *wcsncpy(wchar_t *string1, const wchar_t *string2, size_t count); string2 から string1 間の最大 count ワイド文字までをコピーします。
wcspbrk wchar.h wchar_t *wcspbrk(const wchar_t *string1, const wchar_t *string2); string2 が示すストリングの任意のワイド文字が、string1 が指したストリング内で最初に出現する位置を見つけます。
wcsptime wchar.h wchar_t *wcsptime(const wchar_t *buf, const wchar_t *format, struct tm *tm); 日付および時刻の変換。strptime() と同じですが、ワイド文字を使用する点が異なります。
wcsrchr wchar.h wchar_t *wcsrchr(const wchar_t *string, wchar_t character); string が指すストリング内の character の最後のオカレンスの位置を指定します。
wcsrtombs4 wchar.h size_t wcsrtombs (char *dst, const wchar_t **src, size_t len, mbstate_t *ps); ワイド文字ストリングをマルチバイト・ストリングに変換します。 (wcstombs の再始動可能バージョン)
wcsspn wchar.h size_t wcsspn(const wchar_t *string1, const wchar_t *string2); string1 が指すストリングの初期セグメントに あって、すべて string2 が指すストリングの ワイド文字から成るワイド文字数を計算します。
wcsstr wchar.h wchar_t *wcsstr(const wchar_t *wcs1, const wchar_t *wcs2); wcs1 内で wcs2 が最初に現れる位置を見つけます。
wcstod wchar.h double wcstod(const wchar_t *nptr, wchar_t **endptr); nptr が指すワイド文字ストリングの初期部分を、double 型の値に変換します。
wcstod32 wchar.h _Decimal32 wcstod32(const wchar_t *nptr, wchar_t **endptr); nptr が指すワイド文字ストリングの初期部分を、単精度の 10 進浮動小数点値に変換します。
wcstod64 wchar.h _Decimal64 wcstod64(const wchar_t *nptr, wchar_t **endptr); nptr が指すワイド文字ストリングの初期部分を、倍精度の 10 進浮動小数点値に変換します。
wcstod128 wchar.h _Decimal128 wcstod128(const wchar_t *nptr, wchar_t **endptr); nptr が指すワイド文字ストリングの初期部分を、4 倍精度の 10 進浮動小数点値に変換します。
wcstof wchar.h float wcstof(const wchar_t *nptr, wchar_t **endptr); nptr が指すワイド文字ストリングの初期部分を、float 型の値に変換します。
wcstok wchar.h wchar_t *wcstok(wchar_t *wcs1, const wchar_t *wcs2, wchar_t **ptr) wcs1 を一連のトークンに分割し、wcs2 が指すワイド・ストリングのワイド文字によって、各トークンを区切ります。
wcstol wchar.h long int wcstol(const wchar_t *nptr, wchar_t **endptr, int base); nptr が指すワイド文字ストリングの初期部分を、long 型の整数値に変換します。
wcstold wchar.h long double wcstold(const wchar_t *nptr, wchar_t **endptr); nptr が指すワイド文字ストリングの初期部分を、long double 型の値に変換します。
wcstombs stdlib.h size_t wcstombs(char *dest, const wchar_t *string, size_t count); wchar_t の string を、マルチバイト・ストリングの dest に変換します。
wcstoul wchar.h unsigned long int wcstoul(const wchar_t *nptr, wchar_t **endptr, int base); nptr が指すワイド文字ストリングの初期部分を、符号なしの long 型整数値に変換します。
wcsxfrm4 wchar.h size_t wcsxfrm (wchar_t *wcs1, const wchar_t *wcs2, size_t n); ワイド文字ストリングを、文字照合重みを表す値に変換し、結果のワイド文字ストリングを配列に配置します。
wctob

stdarg.h
wchar.h

int wctob(wint_t wc); 初期シフト状態時にマルチバイト文字表現が単一バイトである拡張文字セットのメンバーに、wc が対応しているかどうかを判別します。
wctomb stdlib.h int wctomb(char *string, wchar_t character); character の wchar_t 値を、マルチバイトの string に変換します。
wctrans wctype.h wctrans_t wctrans(const char *property); ストリング引数プロパティーによって識別されるワイド文字間のマッピングを表す、wctrans_t 型の値を構成します。
wctype4 wchar.h wctype_t wctype (const char *property); 文字プロパティー分類のハンドルを取得します。
wcwidth wchar.h int wcswidth(const wchar_t *pwcs, size_t n); ワイド文字ストリングの表示幅を判別します。
wmemchr wchar.h wchar_t *wmemchr(const wchar_t *s, wchar_t c, size_t n); s が示すオブジェクトの最初の n ワイド文字内で、c が最初に現れる位置を見つけます。
wmemcmp wchar.h int wmemcmp(const wchar_t *s1, const wchar_t *s2, size_t n); s1 が示すオブジェクトの最初の n ワイド文字と、s2 が示すオブジェクトの最初の n 文字とを比較します。
wmemcpy wchar.h wchar_t *wmemcpy(wchar_t *s1, const wchar_t *s2, size_t n); n ワイド文字を、s2 が示すオブジェクトから s1 が示すオブジェクトにコピーします。
wmemmove wchar.h wchar_t *wmemmove(wchar_t *s1, const wchar_t *s2, size_t n); n ワイド文字を、s2 が示すオブジェクトから s1 が示すオブジェクトにコピーします。
wmemset wchar.h wchar_t *wmemset(wchar_t *s, wchar_t c, size_t n); c の値を、s が示すオブジェクトの最初の n ワイド文字それぞれにコピーします。
wprintf6 wchar.h int wprintf(const wchar_t *format, arg-list); wprintf の引数の前に挿入された引数 stdout を持つ fwprintf に相当します。
wscanf6 wchar.h int wscanf(const wchar_t *format, arg-list); wscanf の引数の前に挿入された引数 stdin を持つ fwscanf に相当します。
y0 math.h double y0(double x); 2 番目の順序の種類が 0 のベッセル関数値を計算します。
y1 math.h double y1(double x); 2 番目の順序の種類が 1 のベッセル関数値を計算します。
yn math.h double yn(int n, double x); 2 番目の順序の種類が n のベッセル関数値を計算します。
注: 1 この関数は、type=record でオープンされたファイルではサポートされません。
注: 2 この関数は、type=record かつ mode=ab+、rb+、wb+ のいずれかでオープンされたファイルではサポートされません。
注: 3 ILE C コンパイラーは、完全にバッファーに入れられたストリームおよび行バッファリングされたストリームのみをサポートします。 ブロックおよび行が、オープンされたファイルのレコード長に等しくなるため、完全にバッファーに入れられたストリームおよび行バッファリングされたストリングも、同様にサポートされます。 setbuf() および setvbuf() 関数には、影響はありません。
注: 4 コンパイル・コマンドで LOCALETYPE(*CLD) が指定されている場合、この関数は使用できません。
注: 5 CRTCMOD コマンドまたは CRTBNDC コマンドで SYSIFCOPT(*IFSIO) が指定されている場合のみ、この関数が使用できます。
注: 6 コンパイル・コマンドで LOCALETYPE(*CLD) または SYSIFCOPT(*NOIFSIO) のいずれかが指定されている場合、この関数は使用できません。