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
使用例
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);