この記事では、C言語でファイルに文字列を書き込む方法と、書き込みの際の注意点について解説します。
目次から探す
ファイルへの書き込み方法
プログラムでファイルに文字列を書き込む方法について説明します。
ファイルを開く
ファイルを書き込むためには、まずファイルを開く必要があります。
C言語では、fopen関数
を使用してファイルを開きます。
FILE *fp; // ファイルポインタ
fp = fopen("ファイル名", "モード");
fopen関数
の第1引数には、ファイル名を指定します。
ファイル名は文字列で指定し、ファイルのパスも含めることができます。
例えば、data.txt
やC:\\Users\\user\\data.txt
のように指定します。
fopen関数
の第2引数には、ファイルを開く際のモードを指定します。
以下によく使用されるモードを示します。
モード | 説明 |
---|---|
“r” | 読み込みモード。既存のファイルを開きます。ファイルが存在しない場合はエラーになります。 |
“w” | 書き込みモード。新しいファイルを作成します。既存のファイルがある場合は、ファイルの内容が削除されます。 |
“a” | 追記モード。ファイルの末尾にデータを追加します。ファイルが存在しない場合は新しいファイルが作成されます。 |
“rb” | バイナリ読み込みモード。バイナリファイルを読み込みます。 |
“wb” | バイナリ書き込みモード。バイナリファイルを作成します。 |
“ab” | バイナリ追記モード。バイナリファイルの末尾にデータを追加します。 |
ファイルが存在しない場合は新しく作成されます。
既に存在する場合は、ファイルの末尾に追記されます。
ファイルに文字列を書き込む
ファイルを開いた後は、fprintf関数
を使用して文字列をファイルに書き込むことができます。
fprintf(fp, "書き込む文字列");
fprintf関数
の第1引数には、ファイルポインタを指定します。
第2引数には、書き込む文字列を指定します。
文字列はダブルクォーテーションで囲みます。
以下に、ファイルに文字列を書き込むサンプルコードを示します。
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("data.txt", "w");
if (fp == NULL) {
printf("ファイルを開けませんでした。\n");
return 1;
}
fprintf(fp, "Hello, World!");
fclose(fp);
return 0;
}
上記のコードでは、data.txt
というファイルを書き込みモードで開き、Hello, World!
という文字列を書き込んでいます。
ファイルを開く際にエラーが発生した場合は、エラーメッセージを表示します。
実行すると、data.txt
というファイルが作成され、その中にHello, World!
という文字列が書き込まれます。
以上が、C言語でファイルに文字列を書き込む方法の説明です。
次のページファイルに書き込む際の注意点