C言語: 基礎の関数


C言語の基礎的な関数リストです。

標準入出力

int getchar (stdio.h)
標準入力から1文字読み込む。正常時には読み込んだ文字を返し、それ以外はEOFを返す。
int putchar(int ch) (stdio.h)
標準出力に引数の文字を出力する。正常時には引数のch, そうでなければEOF。
char *gets(char *buf) (stdio.h)
文字列の入力。文字列の入力は、改行またはEOFが入力されるまで行う。最後に入力された改行又はEOFは に変換される。
int puts(char *buf) (stdio.h)
文字列の出力。引数で渡されたbufの文字列を出力。文字列の最後のは改行に変換される。正常時には非負の値を返し、そうでなければEOFを返す。
int scanf(char *format, …) (stdio.h)
標準入力から、引数format に指定された書式にしたがって読み込む。書式には %d, %x, %f, %c, %s などが指定できる。正常時には入力データの個数が、そうでなければEOFが返される。
int printf(char *format, …) (stdio.h)
標準出力に文字列を出力する。正常終了なら出力文字数を、そうでなければ負の値を返す。

文字列操作

size_t strlen(char *string) (string.h)
引数の文字列の文字数を返す。ただしは除く。
char *strcpy(char *string1, char * string2) (string.h)
引数2の文字列を、終端のも含めて引数1の領域にコピーする。string1はコピー後の文字数が格納できるだけの領域をもっている必要がある。
char *strncpy(char *string1, char *string2, size_t length) (string.h)
引数2の文字列を引数1の指す領域に指定された文字数分だけコピーする。文字列2の文字数が指定された文字数にみたない場合はでパディングされる。string1はコピー後の文字数が格納できるだけの領域をもっている必要がある。
char *strcat(char *string1, char *string2) (string.h)
引数2の指す文字列を引数1の指す文字列に結合する。引数1の文字列に含まれるは引数2の先頭文字で上書きされる。string1を返す。string1は連結後の文字数が格納できるだけの領域をもっている必要がある。
char *strncat(char *string1, char *string2, size_t length) (string.h)
引数2の指す文字列を引数1の指す文字列に指定された文字数分連結する。引数2の文字列が指定された文字列に満たなければ、strcatと同じ動作となる。string1を返す。string1は連結後の文字数が格納できるだけの領域をもっている必要がある。
int strcmp(char *string1, char *string2) (string.h)
引数1の文字列と引数2の文字列をコード順で比較する。string1 が string2 より前にあるなら負の数。
int strncmp(char *string1, char *string2, size_t length) (string.h)
指定された文字列分についてstring1, string2 を比較する。
char *strchr(char *string, int ch) (string.h)
string の中からchに指定された文字を検索する。最初に見つかった位置へのポインタを返す。見つからなければNULLを返す。
char *strrchr(char *string, int ch) (string.h)
stringの指す文字列の中からchに指定された文字を検索する。検索は文字列の末尾から先頭へ向かって行われる。

ファイル操作

FILE *fopen(char *filename, char *mode) (stdio.h)
ファイルを開く。mode は a, r, w に加えて +:更新モード, b:バイナリモード を付加できる。ファイルがオープンできなければNULLを返す。
int fclose(FILE *fp) (stdio.h)
ファイルのクローズ。正常にクローズできれば0, そうでなければEOFを返す。
int fgetc(FILE *fp) (stdio.h)
1文字読み込む。終端の文字列を読み込んだ場合、エラーの場合にはEOFを返す。
int fputc(int ch, FILE *fp) (stdio.h)
引数fpが示すファイルにchを出力する。正常終了時にはch, そうでなければEOFを返す。
int *fgets(char *string, int length, FILE *fp) (stdio.h)
ファイルから length-1 文字分読み込む。文字列の終端にはを付加する。正常時には引数string, エラー時にはnullを返す。
int fputs(char *string, FILE *fp) (stdio.h)
正常時には非負の値、エラー時にはEOFを返す。
int fscanf(FILE *fp, char *format, ...) (stdio.h)
ファイルからの書式付き入力。正常時には入力データの個数、エラー時にはEOFを返す。
int fprintf(FILE *fp, char *format, ...) (stdio.h)
ファイルに書き込む。正常時には文字数、エラー時には負の数を返す。

その他

int atoi(char *string) (stdlib.h)
引数の文字(先頭文字)を整数に変換する。
int isdigit(int ch) (ctype.h)
引数に指定された文字が10進数字 (0, ..., 9)かどうかを判定する。10進数字の場合は0以外の値、そうでなければ0。
void *calloc(size_t count, size_t size) (stdlib.h)
要素のサイズが指定されたサイズになる用紙を指定された個数だけ格納できるメモリ領域を確保する。確保されたメモリ領域は0で初期化されている。成功すれば割り当てたメモリへのポインタ、そうでなければNULLが返される。(変数ではなく配列のメモリ確保に使用する。)
void *malloc(size_t size) (stdlib.h)
指定されたバイト数分のメモリを確保する。成功すれば割り当てたメモリへのポインタ、そうでなければNULLが返される。
void free(void *ptr) (stdlib.h)
calloc, malloc で割り当てた領域の開放。