C言語でファイルの読み書きを行う方法
C言語では、stdio.hヘッダに含まれている関数を用いてファイルの読み書き処理が行える。
ファイルを読む:
- fopen関数を使用してファイルを開き、ファイルへのポインタを返します。
- fgets関数を用いてファイルから1行ずつ内容を読み込み、ファイルの終端に到達するまで繰り返す。
- ファイルはfclose関数で閉じます。
ファイルを読み込むサンプルコードを以下に示します。
#include <stdio.h>
int main() {
FILE *file;
char line[100];
// 打开文件
file = fopen("input.txt", "r");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
// 逐行读取文件内容
while (fgets(line, sizeof(line), file)) {
printf("%s", line);
}
// 关闭文件
fclose(file);
return 0;
}
ファイルに書き込みます。
- fopen関数を用いてファイルをオープンし、ファイルへのポインタを返す。
- fprintf関数を使用して書き込む内容をファイルへ書き込みます。
- fcose関数を用いてファイルを閉じる
ファイルへの書き込みのコードの例を次に示します。
#include <stdio.h>
int main() {
FILE *file;
// 打开文件
file = fopen("output.txt", "w");
if (file == NULL) {
printf("无法打开文件\n");
return 1;
}
// 写入文件内容
fprintf(file, "Hello, World!\n");
// 关闭文件
fclose(file);
return 0;
}
このサンプルコードでは、fopen 関数で “output.txt” というファイルを開いて書き込み (“w”) モードで開いています。次に、fprintf 関数を使用して文字列 “Hello, World!\n” をファイルに書き込みます。最後に、fclose 関数を使用してファイルを閉じます。
ファイルを開く際には、ファイルのパスとオープンモードを指定する必要があります。一般的なオープンモードを以下に示します。
- 「r」:読み込み専用モード、ファイルを書き込みモードで開きます。
- 「w」: 書き込みモード、ファイルを書き込み用に開く、ファイルが存在しない場合はファイルを作成し、ファイルが既に存在する場合はファイルの内容を空にします。
- 「a」: 追加モード、ファイルを開いて書き込み用とし、ファイルが存在しない場合はファイルを作成、ファイルが存在する場合はファイル末尾に追加でコンテンツを書き込みます。
- 「r+」:読み書きモード。読みと書きのためにファイルを開く。
- 「w+」モードはファイルの読み書きに使用され、ファイルが存在しない場合はファイルが作成され、ファイルが存在する場合はファイルの内容がクリアされます。
- 「a+」: 読み書きモードでファイルを開いて読み書きを行う。ファイルが存在しない場合は作成し、ファイルが存在する場合はファイルの末尾に追記する。