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

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

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で共有していただければ幸いです。

siro:chro 無料ゲーム SQN をリリースしました

img_sqn_00

sirochro 初の無料ゲームアプリ SQN をリリースしました。
記事:SQN: iOS 無料ゲームアプリ SQN - Sequential Numbers をリリース
ちょっとした時間に楽しめる完全無料のゲームなっていますので、是非ダウンロードして遊んでみてください。

↓SQN のダウンロードはこちらから

Related Contents

Pickup Contents