fprintf

 

書式
int fprintf(FILE *fp,const char *format, ...);

機能
データを指定した書式でポインタfpの指すストリームへ出力する。
書式指定形式 : % [フラグ] [最小文字数] [精度] [ h | l | L ] [変換指定子]
書式指定形式の5項目の内、省略できないのは変換指定子だけである。

[フラグ]
・-
    左詰め(デフォルトは右詰め)する。
・+
    符号付き変換に正の数値の「+」符号も出力(デフォルトは「-」の場合み出力)する。
・空白
    符号付き変換の時、正の数値の先頭に空白を出力する。
    「+フラグ」と同時指定の時は無効になる。
・0
    d, i, o, u, x, X, e, E, f, g, G変換において左側0で桁を埋める。
    「-フラグ」と同時指定の時は無効になる。
    d, i, o, u, x, X変換において精度が指定された場合は無効になる。
・#
    o : 先頭に0を付加する。
    x,X : 先頭に 0x(0X) を付加する。
    f,e,E : 小数点を付ける。
    g,G : 小数点を付け、末尾の0も出力する。

[最小文字数]
・int型の値
    出力文字数が設定値に足りない時は空白で埋める。
・*
    出力文字数が引数に足りない時は空白で埋める。

[精度]
・.int型の値
    d,i,o,u,x,X : 最低でも設定値分の数字を置き、足りない時は0で埋める。
    f,e,E : 設定値分の数字を置く。
    g,G : 最大桁数
    s : 最大文字数。
    .に続く値が無い時、または0の時は小数点を出力しない。
    .*の時は引数分の精度となる。

[h | l | L]
・h
    d,i,o,u,x,X : short型かunsigned short型を示す。
    n : short型へのポインタを示す。
・l
    d,i,o,u,x,X : long型かunsigned long型を示す。
    n : long型へのポインタを示す。
    c : wint_t型へのポインタを示す。
    s : wchar_t 型へのポインタを示す。
・L
    e,E,f,F,g,G : double型を示す。

[変換指定子]
・d,i
    十進値を出力する。
・u
    符号なし十進値を出力する。
・o
    八進値を出力する。
・x,X
    十六進値を出力する。
・f
    浮動小数点を出力する。
・e,E
    指数形式を出力する。
・g,G
    指数部が-4より小さいか有効精度以上の精度の時はe形式で出力する。
    それ以外はf形式で出力する。
・c
    符号なし文字を出力する。
・s
    文字列を出力する。
・p
    void型へのポインタを16進数で出力する。
・n
    %nまでに出力した文字数を整数型ポインタの引数に格納する。
・%
    %を出力する。

戻り値
出力した文字数。エラーのときは負の値。

ヘッダーファイル
stdio.h

 

使用例

FILE *fp;
char *str1 = "You are K's style";
char *str2 = "Master";
int a = 100;
fp=fopen("***", "w");
fprintf(fp,"%s %d%% %s\n",str1,a,str2);