C-standard-library-c-function-fprintf

提供:Dev Guides
移動先:案内検索

Cライブラリ関数-fprintf()

説明

Cライブラリ関数 int fprintf(FILE stream、const char * format、…​)*は、フォーマットされた出力をストリームに送信します。

宣言

以下は、fprintf()関数の宣言です。

int fprintf(FILE *stream, const char *format, ...)

パラメーター

  • stream -これは、ストリームを識別するFILEオブジェクトへのポインタです。
  • format -これは、ストリームに書き込まれるテキストを含むC文字列です。 オプションで、後続の追加の引数で指定された値で置き換えられ、要求どおりにフォーマットされた埋め込みフォーマットタグを含めることができます。 書式タグのプロトタイプは、以下で説明する*%[flags] [width] [。precision] [length] specifier *です-
Sr.No. specifier & Output
1

c

キャラクター

2

d or i

符号付き10進整数

3

e

e文字を使用した科学表記法(仮数/指数)

4

E

E文字を使用した科学表記法(仮数/指数)

5

f

10進浮動小数点

6

g

%eまたは%fの短い方を使用します

7

G

%Eまたは%fの短い方を使用します

8

o

符号付き8進数

9

s

文字列

10

u

符号なし10進整数

11

x

符号なし16進整数

12

X

符号なし16進整数(大文字)

13

p

ポインターアドレス

14

n

何も印刷されない

15

%

キャラクター

Sr.No. Flags & Description
1

-

指定されたフィールド幅内で左寄せします。右揃えがデフォルトです(widthサブ指定子を参照)。

2

+

正の数であっても、結果の前にプラス記号またはマイナス記号(+または-)を強制的に付けます。 デフォルトでは、負の数値の前に-ve記号が付きます。

3

(space)

記号が書き込まれない場合、値の前に空白スペースが挿入されます。

4

#

o、x、またはX指定子とともに使用されます。 ゼロ以外の値の場合、値の前にはそれぞれ0、0x、または0Xが付きます。 e、E、fと共に使用すると、数字が続かない場合でも、出力に小数点が含まれるようになります。 デフォルトでは、数字が後に続かない場合、小数点は書き込まれません。 gまたはGを使用すると、結果はeまたはEと同じですが、末尾のゼロは削除されません。

5

0

スペースの代わりにゼロ(0)で数値を左に埋め込みます。ここで、埋め込みが指定されます(幅サブ指定子を参照)。

Sr.No. Width & Description
1

(number)

印刷される最小文字数。 表示される値がこの数値より短い場合、結果は空白スペースで埋め込まれます 結果が大きくなっても、値は切り捨てられません。

2 幅はフォーマット文字列では指定されませんが、フォーマットされる必要がある引数の前に追加の整数値引数として指定されます。
Sr.No. .precision & Description
1

.number

整数指定子(d、i、o、u、x、X)の場合-精度は、書き込まれる最小桁数を指定します。 書き込まれる値がこの数値より短い場合、結果には先行ゼロが埋め込まれます。 結果が長くなっても値は切り捨てられません。 精度0は、値0に文字が書き込まれないことを意味します。 e、E、およびf指定子の場合:これは、小数点の後に印刷される桁数です。 gおよびG指定子の場合:これは、印刷される有効数字の最大数です。 sの場合:これは、印刷される最大文字数です。 デフォルトでは、終了ヌル文字が見つかるまで、すべての文字が印刷されます。 cタイプの場合:効果はありません。 精度が指定されていない場合、デフォルトは1です。 精度の明示的な値なしで期間が指定された場合、0が想定されます。

2
  • .*.

精度はフォーマット文字列では指定されませんが、フォーマットする必要がある引数に先行する追加の整数値引数として指定されます。

Sr.No. Length & Description
1

h

引数は、short intまたはunsigned short intとして解釈されます(整数指定子にのみ適用されます:i、d、o、u、x、およびX)。

2

l

引数は、整数指定子(i、d、o、u、x、およびX)のlong intまたはunsigned long int、および指定子cおよびsのワイド文字またはワイド文字列として解釈されます。

3

L

引数はlong doubleとして解釈されます(浮動小数点指定子、e、E、f、g、およびGにのみ適用されます)。

  • 追加の引数-形式文字列に応じて、関数は追加の引数のシーケンスを期待する場合があり、各引数にはformatパラメーターで指定された各%タグ(存在する場合)の代わりに1つの値が挿入されます。 これらの引数の数は、値を予期する%タグの数と同じでなければなりません。

戻り値

成功した場合、書き込まれた文字の合計数が返されます。それ以外の場合、負の数が返されます。

次の例は、fprintf()関数の使用法を示しています。

#include <stdio.h>
#include <stdlib.h>

int main () {
   FILE * fp;

   fp = fopen ("file.txt", "w+");
   fprintf(fp, "%s %s %s %d", "We", "are", "in", 2012);

   fclose(fp);

   return(0);
}

次の内容のファイル file.txt を作成する上記のプログラムをコンパイルして実行します-

We are in 2012

今、次のプログラムを使用して上記のファイルの内容を見てみましょう-

#include <stdio.h>

int main () {
   FILE *fp;
   int c;

   fp = fopen("file.txt","r");
   while(1) {
      c = fgetc(fp);
      if( feof(fp) ) {
         break;
      }
      printf("%c", c);
   }
   fclose(fp);
   return(0);
}

上記のプログラムをコンパイルして実行し、次の結果を生成しましょう。

We are in 2012