自分の備忘録としてC言語のライブラリ関数まとめました。
C言語の簡単なプログラム
include <stdio.h> int main(){ printf("Hello World!!\n");/*stdio.hに入っているライブラリ関数*/ return 0; }
入出力 <stdio.h>
主にファイルを取り扱う関数です。
C言語では、ディスク以外の周辺機器もファイル扱いできます。
また、規定のファイルポインタとしてこれらを扱うことが出来ます。
規定のファイルポインタ
stdin 標準入力(普通はキーボード)
stdout 標準出力(普通はディスプレイ)
stderr 標準エラー出力(普通はディスプレイ)
これらは、リダイレクト等の方法でユーザーが変更することもできますし、
環境によっては、別の機器に関連づけられたり、無効になっていることもあります。
fopen
関数型 : FILE *fopen(const char *filename, const char *mode);
引数 : ファイル名、モード文字列
戻り値 : 開いたファイルポインタ。失敗した場合はNULL。
機能 : ファイルを開く。
モード : r 読み込み、w 新規、a 追加。b付加でバイナリ、+付加で入出力両用。
fclose
関数型 : int fclose(FILE *fp);
引数 : ファイルポインタ
戻り値 : 成功した場合は0、失敗したときはEOF
機能 : ファイルを閉じる。
fgetc
関数型 : int fgetc(FILE *fp);
引数 : ファイルポインタ
戻り値 : 読み出した文字。失敗したか終わりに到達した場合はEOF。
機能 : ファイルから1文字読み出す。
getc
機能 : fgetcと全く同じ。
注意 : マクロになっていることがあるので副作用に注意。
fgets
関数型 : char *fgets(char *s, int n, FILE *fp);
引数 : 文字列を格納するバッファ、バッファサイズ、ファイルポインタ
戻り値 : 引数で指定したバッファ。失敗したか終わりに到達した場合はNULL。
機能 : ファイルから1行読み出す。結果に改行を含む。
fputc
関数型 : int fputc(int c, FILE *fp);
引数 : 文字、ファイルポインタ
戻り値 : 出力文字。失敗したときはEOF。
機能 : ファイルに1文字書き込む。
putc
機能 : fputcと全く同じ。
注意 : マクロになっていることがあるので副作用に注意。
fputs
関数型 : int fputs(const char *s, FILE *fp);
引数 : 文字列、ファイルポインタ
戻り値 : 成功した場合は真、失敗したときはEOF。
機能 : ファイルに文字列を書き込む。
fread
関数型 : size_t fread(void *ptr, size_t size, size_t nelem, FILE *fp);
引数 : 読み込み結果を格納するバッファ、1項目のサイズ、項目数、ファイルポインタ
戻り値 : 読み込んだ項目数。失敗した場合は0。
機能 : ファイルから固定サイズの項目を読み込む。
fwrite
関数型 : size_t fwrite(const void *ptr, size_t size, size_t nelem, FILE *fp);
引数 : 書き込むバッファ、1項目のサイズ、項目数、ファイルポインタ
戻り値 : 書き込んだ項目数。失敗した場合は0。
機能 : ファイルに固定サイズの項目を書き込む。
fprintf
関数型 : int fprintf(FILE *fp, const char *format, …);
引数 : ファイルポインタ、書式付き文字列、可変個の変数
戻り値 : 出力文字数。失敗したときは負の値。
機能 : ファイルに書式付き文字列を書き込む。
fscanf
関数型 : int fscanf(FILE *fp, const char *format, …);
引数 : ファイルポインタ、変換指定文字列、可変個のバッファ
戻り値 : 変換に成功した数。失敗した場合は-1。
機能 : ファイルから文字列を読み込み指定された形式に変換する。
ftell
関数型 : long ftell(FILE *fp);
引数 : ファイルポインタ
戻り値 : 現在のファイル位置。
機能 : ファイル位置を取得する。
fseek
関数型 : int fseek(FILE *fp, long offset, int ptrname);
引数 : ファイルポインタ、ファイル位置の移動数、ファイル位置の基準
戻り値 : 成功した場合は0、失敗したときは0以外。
機能 : ファイル位置を変更する。
位置 : SEEK_SET 先頭、SEEK_CUR 現在の位置、SEEK_END 終わり。
fgetpos
関数型 : int fgetpos(FILE *fp, fpos_t *ptr);
引数 : ファイルポインタ、ファイル位置を格納する変数のポインタ
戻り値 : 成功した場合は0、失敗したときは0以外。
機能 : 現在のファイル位置を格納する。
fsetpos
関数型 : int fsetpos(FILE *fp, const fpos_t *ptr);
引数 : ファイルポインタ、ファイル位置を格納する変数のポインタ
戻り値 : 成功した場合は0、失敗したときは0以外。
機能 : ファイル位置を変更する。
feof
関数型 : int feof(FILE *fp);
引数 : ファイルポインタ
戻り値 : 終わりに到達した場合は真、到達していない場合は偽。
機能 : ファイルが終わりに到達したか調べる。
ferror
関数型 : int ferror(FILE *fp);
引数 : ファイルポインタ
戻り値 : エラー発生した場合は真、発生していない時は偽。
機能 : ファイルにエラーが発生したか調べる。
clearerr
関数型 : void clearerr(FILE *fp);
引数 : ファイルポインタ
機能 : ファイルのエラーの時に回復する。
fflush
関数型 : int fflush(FILE *fp);
引数 : ファイルポインタ
戻り値 : 成功した場合は0、失敗したときは偽。
機能 : 出力バッファを強制出力する。
注意 : コンパイラによっては入力バッファをクリアできる。ただし邪道である。
freopen
関数型 : FILE *freopen(const char *filename, const char *mode, FILE *fp);
引数 : ファイル名、モード文字列、ファイルポインタ
戻り値 : 引数で指定されたファイルポインタ。失敗した場合はNULL。
機能 : ファイルポインタの再割り当て。
rename
関数型 : int rename(const char *oldname, const char *newname);
引数 : 現在のファイル名、新しいファイル名
戻り値 : 成功した場合は0、失敗したときは0以外。
機能 : ファイルの名前を変更する。
remove
関数型 : int remove(const char *filename);
引数 : ファイル名
戻り値 : 成功した場合は0、失敗したときは0以外。
機能 : ファイルを削除する。
getchar
関数型 : int getchar(void);
戻り値 : 読み出した文字。失敗した場合はEOF。
機能 : 標準入力(キーボード)から1文字読み込む。
putchar
関数型 : int putchar(char c);
引数 : 文字
戻り値 : 出力文字。失敗したときはEOF。
機能 : 標準出力(ディスプレイ)に1文字書き込む。
gets
関数型 : char *gets(char *s);
引数 : 読み込んだ文字列を格納するバッファ
戻り値 : 引数で指定したバッファ。失敗したか終わりに到達した場合はNULL。
機能 : 標準入力(キーボード)から1行読み出す。結果に改行は含まれない。
注意 : バッファオーバーラン(ウイルス侵入)の原因になるので使ってはいけない。
puts
関数型 : int puts(const char *s);
引数 : 文字列
戻り値 : 成功した場合は0、失敗したときは0以外。
機能 : 標準出力(ディスプレイ)に1行書き込む。改行されます。
perror
関数型 : void perror(const char *s);
引数 : 表示する文字列
機能 : 指定した文字列と一緒に直前に発生したエラーを表示する。
printf
関数型 : int printf(const char *format, …);
引数 : 書式付き文字列、可変個の変数
戻り値 : 出力文字数。失敗したときは-1。
機能 : 標準出力(ディスプレイ)に書式付き文字列を書き込む。
scanf
関数型 : int scanf(const char *format, …);
引数 : 変換指定文字列、可変個のバッファ
戻り値 : 変換に成功した数。失敗した場合は-1。
機能 : 標準入力(キーボード)から文字列を読み込み指定された形式に変換する。
注意 : 他の入力関数と一緒に使うと思わぬ動作をすることがある。