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

ホーム > C 標準関数逆引き辞典 > ファイル > ファイルに文字列で1行ずつ書き込む

C 標準関数逆引き辞典

:: reverse dictionary ::

ファイル

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


ファイルに文字列で1行ずつ書き込む

ファイルに文字列で1行ずつ書き込むには、fputs 関数を使います。

≪宣言≫

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

#define STR_MAX  256  /* 文字列の最大長 */
FILE *fp;
int length;
int i;

/* 書き込む文字列 */
char strs[][STR_MAX] =
{
    "C Program"
  , "C++ Program"
  , "C# Program"
};

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

length = sizeof(strs) / STR_MAX;
for (i = 0; i < length; i++)
{
  /* 書き込み */
  fputs(strs[i], fp);
  fputs("\n", fp);
}

fclose(fp);

ソースファイル

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

C Program
C++ Program
C# Program

になります。


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

≪宣言≫

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

#define STR_MAX  256  /* 文字列の最大長 */
FILE *fp;
int length;
int i;

/* 書き込む文字列 */
wchar_t strs[][STR_MAX] =
{
    L"Cプログラム"
  , L"C++プログラム"
  , L"C#プログラム"
};

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

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

length = sizeof(strs) / (sizeof(wchar_t) * STR_MAX);
for (i = 0; i < length; i++)
{
  /* 書き込み */
  fputws(strs[i], fp);
  fputws(L"\n", fp);
}

fclose(fp);

ソースファイル

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

Cプログラム
C++プログラム
C#プログラム

になります。

▼ 関数

int fputs(const char *s, FILE *o)
int fputws(const wchar_t *s, FILE *o)

出力ストリーム o に文字列 s を書き込みます。

書き込みに失敗した場合、fputsEOFfputwsWEOF を返します。

●引数

s … 書き込む文字列
o … 出力ストリームのポインタ

●戻り値

・書き込み成功 … 0 以上の値
・書き込み失敗 … EOFWEOF

●補足

自動的に改行はされません。

注目キーワード ベスト5

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

ファイル - file -


ホーム > C 標準関数逆引き辞典 > ファイル > ファイルに文字列で1行ずつ書き込む

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