C言語でファイルの読み書きを行う方法は?
C言語ではファイル操作関数群が備わり、それらによってファイルを開いたり、読み込み、書き込んだり、閉じたりすることができます。次に、ファイルをどのように読み書きするかを示す簡単な例を記します。
- ファイルを開く:
#include <stdio.h>
int main() {
FILE *file; // 文件指针
char filename[] = "example.txt"; // 文件名
// 打开文件
file = fopen(filename, "r"); // "r"表示读取模式
if (file == NULL) {
printf("无法打开文件 %s\n", filename);
return 1; // 返回错误代码
}
// 读取文件内容...
// 关闭文件
fclose(file);
return 0; // 返回成功代码
}
- ファイル内容を読み込む:
#include <stdio.h>
int main() {
FILE *file; // 文件指针
char filename[] = "example.txt"; // 文件名
char buffer[100]; // 缓冲区
// 打开文件
file = fopen(filename, "r"); // "r"表示读取模式
if (file == NULL) {
printf("无法打开文件 %s\n", filename);
return 1; // 返回错误代码
}
// 读取文件内容
while (fgets(buffer, sizeof(buffer), file) != NULL) {
printf("%s", buffer);
}
// 关闭文件
fclose(file);
return 0; // 返回成功代码
}
- 内容をファイルに書き込む:
#include <stdio.h>
int main() {
FILE *file; // 文件指针
char filename[] = "example.txt"; // 文件名
char content[] = "Hello, World!"; // 写入的内容
// 打开文件
file = fopen(filename, "w"); // "w"表示写入模式
if (file == NULL) {
printf("无法打开文件 %s\n", filename);
return 1; // 返回错误代码
}
// 写入文件内容
fprintf(file, "%s\n", content);
// 关闭文件
fclose(file);
return 0; // 返回成功代码
}
fopen 関数はファイルを開き、fclose 関数はファイルを閉じるために用いられます。ファイルの内容を読み取るには、fgets 関数を使用して行単位で読み取ったり、fread 関数を使用して指定したバイト数を読み取ったりすることが可能です。ファイルの内容を書き込むには、fprintf 関数を使用して指定したフォーマットに従って書き込みます。
ファイル操作ではファイルを開けなかったり、書き込みに失敗したりなど、エラーが発生する可能性があるので、実際に利用する際にはエラー処理を行う必要があります。