C 標準ライブラリ - <stdio.h>


はじめに

stdio .h ヘッダー ファイルは、入出力を実行するための 3 つの変数タイプ、いくつかのマクロ、およびさまざまな関数を定義します。

ライブラリ変数

ヘッダー ファイル stdio.h で定義されている変数の型は次のとおりです:

シリアル番号変数と説明
1size_t
これは un符号付き整数型、sizeofキーワードの結果です。
2FILE
これは、ファイルストリーム情報を保存するのに適したオブジェクトタイプです。
3fpos_t
これは、ファイル内の任意の場所に保存するのに適したオブジェクト タイプです。

ライブラリマクロ

以下は、ヘッダーファイルstdio.hで定義されているマクロです:

fseek 関数で使用されます。 10stderr、stdin
シリアル番号マクロと説明
1NULL
このマクロは空のポインタ定数値。
2_IOFBF、_IOLBF _IONBF
これらのマクロは、整数定数式を特定の値で展開し、setvbuf 関数の 3 番目の引数に適用されます。
3BUFSIZ
このマクロは、setbuf関数によって使用されるバッファー サイズを表す整数です。
4EOFM
このマクロは、ファイルの終わりに達したことを示す負の整数です。
5FOPEN_MAX
このマクロは、システムが同時に開くことができるファイルの数を表す整数です。
6FILENAME_MAX
このマクロは、文字配列に格納できるファイル名の最大長を表す整数です。実装に制限がない場合、この値は推奨される最大値になります。
7L_tmpnam
このマクロは、tmpnam 関数によって作成され、文字配列に格納できる一時ファイル名の最大長を表す整数です。これらのマクロは、ファイル内のさまざまな場所を見つけるために
9TMP_MAX
このマクロは、tmpnam 関数によって生成できる一意のファイル名の最大数です。
、およびstdout
これらのマクロは、それぞれ標準エラー、標準入力、および標準出力ストリームに対応する FILE タイプへのポインターです。

ライブラリ関数

以下はヘッダー ファイル stdio.h で定義されている関数です:

最初の関数で作成されたファイルは後続の関数でも使用されるため、関数をより深く理解するには、以下の順序に従ってこれらの関数を学習してください。
9FILE *freopen(const char *filename, const char *mode, FILE *stream)10ストリームのファイル位置を指定されたオフセット offset に設定します。パラメーター 11指定されたストリーム stream のファイル位置を指定された位置に設定します。引数 12指定されたストリーム stream の現在のファイル位置を返します。 13 ptr が指す配列のデータを指定されたストリーム stream に書き込みます。 14 指定されたファイル名 filename を削除して、アクセスされないようにする。 15old_filename が指すファイル名を new_filename に変更します。 16 指定されたストリーム stream のファイル位置をファイルの先頭に設定します。 17ストリームストリームをバッファリングする方法を定義します。 18ストリームをバッファリングする方法を定義する別の関数。 19バイナリ更新モード (wb+) で一時ファイルを作成します。
シリアル番号機能と説明
1int fclose(FILE *stream)
ストリームstreamを閉じます。すべてのバッファをフラッシュします。
2void clearerr(FILE *stream)
指定されたストリーム stream のファイルの終わりとエラー識別子をクリアします。
3int feof(FILE *stream)
指定されたストリーム stream のファイル終了識別子をテストします。
4int ferror(FILE *stream)
指定されたストリーム stream のエラー識別子をテストします。
5int fflush(FILE *stream)
ストリーム stream の出力バッファをフラッシュします。
6int fgetpos(FILE *stream, fpos_t *pos)
ストリームstreamの現在のファイル位置を取得し、posに書き込みます。
7FILE *fopen(const char *filename, const char *mode)
指定されたモード mode を使用して、filename が指すファイルを開きます。
8size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
指定されたストリーム stream から ptr が指す配列にデータを読み取ります。
stream 内の古いファイルを閉じながら、新しいファイル名 filename を指定されたオープン ストリーム stream に関連付けます。
int fseek(FILE *stream, long int offset, int whence)offset
は、指定された whence 位置から開始することを意味します。検索するバイト数。
int fsetpos(FILE *stream, const fpos_t *pos)pos
は関数 fgetpos によって与えられる位置です。
long int ftell(FILE *stream)
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
int Remove(const char *filename)
int rename(const char *old_filename, const char *new_filename)
void rewind(FILE *stream)
void setbuf(FILE *stream, char *buffer)
int setvbuf(FILE *stream, char *buffer, int mode, size_t size)
FILE *tmpfile(void)
20char *tmpnam(char *str)
以前には存在しなかった有効な一時ファイル名を生成して返します。
21int fprintf(FILE *stream, const char *format, ...)
フォーマットされた出力をストリーム stream に送信します。
22int printf(const char *format, ...)
フォーマットされた出力を標準出力に送信します。
23int sprintf(char *str, const char *format, ...)
フォーマットされた出力を文字列に送信します。
24int vfprintf(FILE *stream, const char *format, va_​​list arg)
引数リストを使用して、フォーマットされた出力をストリームに送信します。
25int vprintf(const char *format, va_​​list arg)
引数リストを使用して、フォーマットされた出力を標準出力に送信します。
26int vsprintf(char *str, const char *format, va_​​list arg)
引数リストを使用して、フォーマットされた出力を文字列に送信します。
27int fscanf(FILE *stream, const char *format, ...)
ストリーム stream からフォーマットされた入力を読み取ります。
28int scanf(const char *format, ...)
標準入力 stdin からフォーマットされた入力を読み取ります。
29int sscanf(const char *str, const char *format, ...)
文字列からフォーマットされた入力を読み取ります。
30int fgetc(FILE *stream)
指定されたストリーム stream から次の文字 (符号なし文字) を取得し、位置識別子を前方に移動します。
31char *fgets(char *str, int n, FILE *stream)
指定されたストリーム stream から行を読み取り、str が指す文字列に格納します。場合によっては、(n-1) 文字が読み取られたとき、改行文字が読み取られたとき、またはファイルの終わりに到達したときに停止します。
32int fputc(int char, FILE *stream)
パラメータ char で指定された文字 (符号なし文字) を指定されたストリーム stream に書き込み、位置識別子を前方に移動します。
33int fputs(const char *str, FILE *stream)
指定されたストリーム stream に文字列を書き込みますが、null 文字は含まれません。
34int getc(FILE *stream)
指定されたストリーム stream から次の文字 (符号なし文字) を取得し、位置識別子を前方に移動します。
35int getchar(void)
標準入力 stdin から文字 (符号なし文字) を取得します。
36char *gets(char *str)
標準入力 stdin から行を読み取り、str が指す文字列に格納します。場合によっては、改行文字が読み取られるか、ファイルの終わりに達すると停止します。
37int putc(int char, FILE *stream)
パラメータ char で指定された文字 (符号なし文字) を指定されたストリーム stream に書き込み、位置識別子を前方に移動します。
38int putchar(int char)
char パラメータで指定された文字 (符号なし文字) を標準出力 stdout に書き込みます。
39int put(const char *str)
null 文字まで (ただし null 文字は含まない) 文字列を標準出力 stdout に書き込みます。出力には改行が追加されます。
40int ungetc(int char, FILE *stream)
文字 char (符号なし文字) を指定されたストリーム stream にプッシュして、それが次に読み取られる文字となるようにします。
41void perror(const char *str)
説明的なエラー メッセージを標準エラー stderr に出力します。文字列 str が最初に出力され、その後にコロン、スペースが続きます。