stdio.h

stdio.h(標準入出力ライブラリ用ヘッダファイル)は、入出力に関する関数が定義されています。
標準入力 (standard input) からの読込み、ファイルアクセスを行う場合に定義します。


stdio.hの利用

printf()、scanf()等の関数を使用する場合、stdio.hを定義します。

ヘッダ宣言

#include <stdio.h>

使用例

// stdio.h program in C.    
#include <stdio.h>    
        
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

';