stdio.h
stdio.h(標準入出力ライブラリ用ヘッダファイル)は、入出力に関する関数が定義されています。
標準入力 (standard input) からの読込み、ファイルアクセスを行う場合に定義します。
stdio.hの利用
printf()、scanf()等の関数を使用する場合、stdio.hを定義します。
ヘッダ宣言
#include <stdio.h>
使用例
#include
int main(int argc, char *args[])
{
char str[256];
memset(str, 0x00, sizeof(str));
printf("非空白類文字列を入力してください\n");
scanf("%s", str);
printf("入力された値 = %s\n", str);
return 0;
}
関数定義
ファイル操作関数
関数名 |
概要 |
remove |
ファイルを削除する |
rename |
ファイル名を変更する |
tmpfile |
一時的なバイナリファイルを生成する |
tmpnam |
既存のファイル名と一致しない文字列を生成する |
ファイルアクセス関数
関数名 |
概要 |
fclose |
ファイルをクローズ (close) する |
fflush |
バッファ (buffer) をフラッシュ (データの吐き出し) する |
fopen |
ファイルをオープン (open) する |
freopen |
既存のストリーム (stream) をクローズしてから新しいストリームをオープンする |
setbuf |
入出力用の バッファ を設定する |
setvbuf |
入出力用の バッファ を設定する |
文字入出力関数
関数名 |
概要 |
fgetc |
ストリーム から 1 文字単位で文字を読み取る |
fgets |
ストリーム から 1 行単位で文字列を読み取る |
fputc |
ストリーム に指定した文字を書き込む |
fputs |
ストリーム に指定した文字列を書き込む |
getc |
ストリーム から 1 文字単位で文字を読み取る |
getchar |
標準入力 から 1 文字単位で文字を読み取る |
gets |
標準入力 から文字列を読み取る
(C11規格ではこのgetsは削除されました)
|
putc |
ストリーム に指定した文字を書き込む |
putchar |
標準出力 に指定した文字を書き込む |
puts |
標準出力 に指定した文字列を書き込む |
ungetc |
入力ストリーム に文字を戻す |
書式付き入出力関数
関数名 |
概要 |
fprintf |
書式文字列に従ってストリーム に出力する |
fscanf |
ストリームから書式文字列に従ってデータを読込む |
printf |
書式文字列に従って標準出力 (standard output) に出力する |
scanf |
標準入力 (standard input) から書式文字列に従ってデータを読込む |
snprintf |
書式文字列に従って指定文字数分だけ文字配列に書き込む
(C99追加)
|
sprintf |
書式文字列に従って文字配列に書き込む |
sscanf |
指定した文字列から書式文字列に従ってデータを取得する |
vfprintf |
可変長引数リストのデータを書式文字列に従ってストリームに出力する |
vfscanf |
ストリーム から可変長引数リストを用いてデータを読込む
(C99追加)
|
vprintf |
可変長引数リストのデータを書式文字列に従って標準出力 に出力する |
vscanf |
標準入力 から可変長引数リストを用いてデータを読み込む
(C99追加)
|
vsnprintf |
可変長引数リストのデータを書式文字列に従って指定文字数分だけ文字配列に書き込む
(C99追加)
|
vsprintf |
可変長引数リストのデータを書式文字列に従って文字配列に書き込む |
vsscanf |
指定した文字列から可変長引数リストを用いてデータを取得する
(C99追加)
|
直接入出力関数
関数名 |
概要 |
fread |
ブロック単位でファイルを読み込む |
fwrite |
ブロック単位でファイルを書き込む |
ファイル位置付け関数
関数名 |
概要 |
fgetpos |
ストリーム の解析状態および,現在のファイル位置表示子 (file position indicator) の値を取得する |
fseek |
ファイル位置表示子を変更する |
fsetpos |
mbstate_t オブジェクトおよび,ファイル位置表示子を設定する |
ftell |
ファイル位置表示子の値を取得する |
rewind |
ファイル位置表示子をそのファイルの始めに位置付ける |
エラー処理関数
関数名 |
概要 |
clearerr |
ファイル位置表示子、ファイル終了表示子 (end-of-file indicator)、エラー表示子 (error indicator) をクリアする |
feof |
ストリーム のファイル終了表示子を判定する |
ferror |
ストリームのエラー表示子を判定する |
perror |
エラー番号に対応するエラーメッセージを標準エラー出力 (standard error) に出力する |
マクロ定義
setvbuf 関数の第 3 引数
関数名 |
概要 |
_IOFBF |
入出力を完全バッファリング (fully buffered) する |
_IOLBF |
入出力を行バッファリング (line buffered) する |
_IONBF |
入出力をバッファリングなし (unbuffered) しない |
setbuf 関数関連
関数名 |
概要 |
BUFSIZ |
setbuf()関数によって使われるバッファ (buffer) の大きさを表す |
tmpnam 関数関連
関数名 |
概要 |
L_tmpnam |
tmpnam()関数によって生成される一時ファイル名を保持するのに、char 型の配列が必要とする十分な大きさを表す整数定数式 |
TMP_MAX |
tmpnam()関数によって生成されるファイル名の最大個数を表す |
fseek 関数の第 3 引数
関数名 |
概要 |
SEEK_CUR |
その時点のファイル位置表示子 (file position indicator) の値 |
SEEK_END |
ファイルの終わり |
SEEK_SET |
ファイルの始め |
標準エラー,標準入力,標準出力
関数名 |
概要 |
stderr |
標準エラー出力 (standard error) |
stdin |
標準入力 (standard input) |
stdout |
標準出力 (standard output) |
ファイル関連
関数名 |
概要 |
EOF |
ファイルの終わり (end-of-file) を示すための int 型の負の値を表す |
FOPEN_MAX |
同時にオープン (open) できるファイル数の最小値を表す整数定数式を表す |
FILENAME_MAX |
オープンできるファイル名の長さを表す整数定数式を表す |
その他の
マクロ名 |
概要 |
NULL |
空ポインタ定数 (null pointer constant) を表す |
※ C99(ISO/IEC 9899:1999)/ C11 (ISO/IEC 9899:2011)
Last updated:2018/01/09
Author:efn