C言語の標準関数を目的別に調べることができる辞典

ホーム > C 標準関数逆引き辞典 > ファイル > ファイルに書式付きで文字列や数値を書き込む

C 標準関数逆引き辞典

:: reverse dictionary ::

ファイル

※ソースファイルについて


ファイルに書式付きで文字列や数値を書き込む

ファイルに書式付きで文字列や数値を書き込むには、fprintf 関数を使います。

≪宣言≫

#include <stdio.h>
#include <stdlib.h>
FILE *fp;
char ch = 'C';
char str[] = "プログラム";
int num = 123;
double dbl = 0.456789;

fp = fopen("sample.txt", "w");
if (fp == NULL)
{
  printf("sample.txt を開けませんでした。\n");
  return EXIT_FAILURE;
}

/* 書き込み */
fprintf(fp, "%c%s\n%d行表示に%f秒", ch, str, num, dbl);

fclose(fp);

ソースファイル

実行すると sample.txt の内容が

Cプログラム
123行表示に0.46789秒

になります。


ワイド文字列の場合は fwprintf 関数を使います。

≪宣言≫

#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
FILE *fp;
wchar_t ch = L'C';
wchar_t str[] = L"プログラム";
int num = 123;
double dbl = 0.456789;

setlocale(LC_ALL, "ja");  /* ロケールを日本語に設定 */

fp = fopen("sample.txt", "w");
if (fp == NULL)
{
  wprintf(L"sample.txt を開けませんでした。\n");
  return EXIT_FAILURE;
}

/* 書き込み */
fwprintf(fp, L"%c%s\n%d行表示に%f秒", ch, str, num, dbl);

fclose(fp);

ソースファイル

実行すると sample.txt の内容が

Cプログラム
123行表示に0.46789秒

になります。

▼ 関数

int fprintf(FILE *o, const char *f)
int fprintf(FILE *o, const char *f, v1, v2, ..., vn)
int fwprintf(FILE *o, const wchar_t *f)
int fwprintf(FILE *o, const wchar_t *f, v1, v2, ..., vn)

v1vn の値を書式 f で書式化し、出力ストリーム o に書き込みます。

書式 f の中に指定する %s%d などのパラメータが、v1vn の値によって置き換えられます。 パラメータは、左から順に v1vn の値に対応します。

v1vn の値を省略した場合は、書式 f をそのまま出力ストリーム o に書き込みます。

%s%d などの主なパラメータは、次のとおりです。

パラメータ 置き換わる値
%c 文字
%s 文字列
%d 10進数
%o 8進数
%x 16進数 アルファベットは小文字( a 〜 f )
%X 16進数 アルファベットは大文字( A 〜 F )
%f 小数点数 例:123.456789
%e 浮動小数点数 例:1.234568e+002
%p 指定した変数のアドレス 例:0012FF60

文字列や数値のパラメータには、桁数を指定できます。

パラメータ 置き換わる値
書式 "[値]"
%4d 4桁の10進数
空いている桁は半角スペース
12 [  12]
%04d 4桁の10進数
空いている桁は 0
123 [0123]
%.4f 小数部4桁の小数点数 1.23 [1.2300]
%.4s fprintf は4バイトの文字列
fwprintf は4文字の文字列
CとC++ fprintf[CとC]
fwprintf[CとC+]

なお、桁数を超える数値を指定しても、切り捨てられることはありません。
%4d12345 を指定した場合は、そのまま 12345 に置き換えられます)

●引数

o … 出力ストリームのポインタ
f … 書式
v1vn … 書式化する値

●戻り値

fprintf は格納したバイト数、fwprintf は格納した文字数
(最後の NULL文字は含みません)

●補足

使用できるパラメータは printf 関数、wprintf 関数と同じです。
printf 関数、wprintf 関数 … 文字列や数値を書式付きで画面に出力する

注目キーワード ベスト5

  1. セキュリティ
  2. ホスティング
  3. レンタルサーバ
  4. ファイル復旧
  5. ハードディスク修復

ファイル - file -


ホーム > C 標準関数逆引き辞典 > ファイル > ファイルに書式付きで文字列や数値を書き込む

Copyright (C) 2005-2007 Noto Watabe. All rights reserved.
e-mail:wmh@always-pg.com