MENU
コンテンツ再構築中

C++:C標準ライブラリと主な関数のリスト(2) stdio.h

C言語の標準ライブラリの中から、汎用的な関数がセットになっているstdio.hをまとめました。

INDEX

stdio.h

ファイルの入出力に関連する関数がセットになったライブラリ。ディスク以外の周辺機器もファイルとして扱う。
また、規定のファイルポインタとしてこれらを扱うことも出来る。

ファイルポインタ

stdin 標準入力(主にキーボード)
stdout 標準出力(主にディスプレイ)
stderr 標準エラー出力(ディスプレイ)

fopen

書式 FILE *fopen(const char *name, const char *mode);
引数 const char *name(ファイル名)/const char *mode(モード文字列)
戻り値 開いたファイルポインタ/失敗した場合はnull。
機能 ファイルを開く
モード r [読み込み]/w [新規]/a [追加]/bを付けることでバイナリ/+を付けることで入出力

fclose

書式 int fclose( *fp);
引数 *fp(ファイルポインタ)
戻り値 成功した場合は0/失敗した場合はEOF
機能 ファイルを閉じる

fgetc

書式 int fgetc( *fp);
引数 *fp(ファイルポインタ)
戻り値 読み出した文字/失敗したor終わりに到達した場合はEOF
機能 ファイルから1文字読み出す

fgets

書式 char *fgets(char *s, int n, *fp);
引数 char *s(文字列を格納するバッファ)/int n(1行の最大文字数)/ *fp(ファイルポインタ)
戻り値 引数で指定したバッファ/失敗したor終わりに到達した場合はnull
機能 ファイルから1行読み出す

fputc

書式 int fputc(int c, *fp);
引数 int c(出力文字)/ *fp(ファイルポインタ)
戻り値 出力文字/失敗した場合はEOF。
機能 ファイルに1文字書き込む

fputs

書式 int fputs(const char *s, *fp);
引数 const char *s(文字列)/ *fp(ファイルポインタ)
戻り値 成功した場合は偽/失敗した場合は真
機能 ファイルに文字列を書き込む。

fread

書式 size_t fread(void *buf, size_t size, size_t nelem, *fp);
引数 void *buf(読み込みデータ格納先のポインタ)/size_t size(読み込みデータ長)/size_t n(項目数)/ *fp(ファイルポインタ)
戻り値 読み込んだ項目数/失敗した場合は0
機能 ファイルから固定サイズの項目を読み込む

fwrite

書式 size_t fwrite(const void *ptr, size_t size, size_t nelem, *fp);
引数 const void *ptr(書き込むデータへのポインタ)/size_t size(1項目のサイズ)/size_t size(項目数)/ *fp(ファイルポインタ)
戻り値 書き込んだ項目数/失敗した場合は0
機能 ファイルに固定サイズの項目を書き込む

fprintf

書式 int fprintf( *fp, const char *format, …);
引数 *fp(ファイルポインタ)/const char *format(書式付き文字列)/…(可変個の変数)
戻り値 出力文字数/失敗したときは負の値
機能 ファイルに書式付き文字列を書き込む

fscanf

書式 int fscanf( *fp, const char *format, …);
引数 *fp(ファイルポインタ)/const char *format(変換指定文字列)/…(可変個のバッファ)
戻り値 変換に成功した数/失敗した場合は-1
機能 ファイルから文字列を読み込み指定された形式に変換する。

ftell

書式 long ftell( *fp);
引数 *fp(ファイルポインタ)
戻り値 現在のファイル位置
機能 ファイル位置を取得する

fseek

書式 int fseek( *fp, long offset, int ptrname);
引数 *fp(ファイルポインタ)/long offset(ファイル位置の移動数)/int ptrname(ファイル位置の基準)
戻り値 成功した場合は0/失敗したときは0以外
機能 ファイル位置を変更する
位置 SEEK_SET(先頭)/SEEK_CUR(現在の位置)/SEEK_END(終わり)

fgetpos

書式 int fgetpos( *fp, fpos_t *ptr);
引数 *fp(ファイルポインタ)/fpos_t *ptr(ファイル位置を格納する変数のポインタ)
戻り値 成功した場合は0/失敗したときは0以外
機能 現在のファイル位置を格納する

fsetpos

書式 int fsetpos( *fp, const fpos_t *ptr);
引数 *fp(ファイルポインタ)/const fpos_t *ptr(ファイル位置を格納する変数のポインタ)
戻り値 成功した場合は0/失敗したときは0以外
機能 ファイル位置を変更する

feof

書式 int feof( *fp);
引数 *fp(ファイルポインタ)
戻り値 終わりに到達した場合は真/到達していない場合は偽
機能 ファイルが終わりに到達したか調べる

ferror

書式 int ferror( *fp);
引数 *fp(ファイルポインタ)
戻り値 エラー発生した場合は真/発生していない時は偽
機能 ファイルにエラーが発生したか調べる

clearerr

書式 void clearerr( *fp);
引数 *fp(ファイルポインタ)
機能 ファイルのエラーの時に回復する

fflush

書式 int fflush( *fp);
引数 fp*(ファイルポインタ)
戻り値 成功した場合は0/失敗したときは偽
機能 ファイルのバッファを全てクリアする。出力ファイルの時は全て書き込む。

freopen

書式 FILE *freopen(const char *filename, const char *mode, *fp);
引数 const char *filename(ファイル名)/const char *mode(モード文字列)/*fp(ファイルポインタ)
戻り値 引数で指定されたファイルポインタ/失敗した場合はnull
機能 ファイルポインタの再割り当て(ストリームをクローズし新規ストリームをオープン)

rename

書式 int rename(const char *oldname, const char *newname);
引数 const char *oldname(現在のファイル名)/const char *newname(新しいファイル名)
戻り値 成功した場合は0/失敗したときは0以外
機能 ファイルの名前を変更する

remove

書式 int remove(const char *filename);
引数 const char *filename(ファイル名)
戻り値 成功した場合は0/失敗したときは0以外
機能 ファイルを削除する

getchar

書式 int getchar(void);
戻り値 読み出した文字/失敗した場合はEOF
機能 標準入力(キーボード)から1文字読み込む

putchar

書式 int putchar(char c);
引数 char c(文字)
戻り値 出力文字/失敗したときはEOF
機能 標準出力(ディスプレイ)に1文字書き込む

gets

書式 char *gets(char *s);
引数 char *s(読み込んだ文字列を格納するバッファ)
戻り値 引数で指定したバッファ/失敗したか終わりに到達した場合はnull
機能 標準入力(キーボード)から1行読み出す。結果に改行は含まれない。
注意 バッファオーバーフロー(ウイルス侵入)の原因になる

puts

書式 int puts(const char *s);
引数 const char *s(文字列)
戻り値 成功した場合は0/失敗したときは0以外
機能 標準出力(ディスプレイ)に1行書き込む(改行される)

perror

書式 void perror(const char *s);
引数 const char *s(表示する文字列)
機能 指定した文字列と一緒に直前に発生したエラーを表示する

printf

書式 int printf(const char *format, …);
引数 const char *format(書式付き文字列)/…(可変個の変数)
戻り値 出力文字数/失敗したときは-1
機能 標準出力(ディスプレイ)に書式付き文字列を書き込む。

scanf

書式 int scanf(const char *format, …);
引数 const char *format(変換指定文字列)/…(可変個のバッファ)
戻り値 変換に成功した数/失敗した場合は-1
機能 標準入力(キーボード)文字列を読み込み指定された形式に変換する
注意 他の入力関数と使うと想定外の動作になるときがある

さいごに

この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

Please share it!
  • URLをコピーしました!
  • URLをコピーしました!
INDEX