C言語でファイルを新規作成してデータを入力する方法
C言語では、標準ライブラリ関数fopen()とfprintf()を使ってファイルを作成してデータ写入を行います。具体的には、次の手順で行います。
- 標準ライブラリ関数を用いるためヘッダファイルstdio.hをインクルード
- fopen() 関数でファイルを開き、そのファイルへのポインタを返します。関数のプロトタイプは FILE *fopen(const char *filename, const char *mode) です。ここで、filename は作成するファイルの名前で、mode は “w” (書き込みモード) など、ファイルを開くためのモードです。
- ファイルを開けることができたかどうか確認します。ファイルを開くことができた場合、fopen() 関数は非空ポインタを返します。さもない場合、NULL が返されます。
- fprintf()関数を使用してファイルを書き込みます。その関数のプロトタイプは以下のとおりです: int fprintf(FILE *stream, const char *format, …)。この中で、streamはファイルポインタ、formatは書き込むデータのフォーマット、…はデータを書き込む必要があります。
- ファイルは fclose() 関数を使用して閉じられます。この関数のプロトタイプは int fclose(FILE *stream) です。ここで、stream はファイルポインタです。
- ファイルを正常にクローズできたかを確認します。ファイルを正常にクローズできれば、fclose()関数は0を返します。さもなくばEOFを返します。
以下に、data.txtファイルを作成し、文字列「Hello, World!」を書き込むためのサンプルコードを示します。
#include <stdio.h>
int main() {
FILE *file;
// 打开文件
file = fopen("data.txt", "w");
if (file == NULL) {
printf("Failed to open file.");
return 1;
}
// 写入数据
fprintf(file, "Hello, World!");
// 关闭文件
if (fclose(file) != 0) {
printf("Failed to close file.");
return 1;
}
return 0;
}
上記コードを実行すると、現在のディレクトリにdata.txtという名前のファイルが生成され、「Hello, World!」という文字列が含まれます。