C语言写入文件
在C语言中,写入文件通常使用标准库函数 fopen
、fprintf
、fwrite
和 fclose
。以下是一个简单的示例,演示如何将文本写入文件。
#include <stdio.h>int main() {// 打开文件以写入模式 ("w" 表示写入)FILE *file = fopen("output.txt", "w");// 检查文件是否成功打开if (file == NULL) {printf("无法打开文件\n");return 1;}// 写入文本到文件fprintf(file, "Hello, World!\n");// 关闭文件fclose(file);printf("写入完成\n");return 0;
}
详细步骤
- 打开文件: 使用
fopen
函数打开文件。第一个参数是文件名,第二个参数是模式,这里使用"w"
表示写入模式。如果文件不存在,会创建一个新文件;如果文件存在,会清空文件内容。 - 检查文件指针: 确保文件成功打开。如果
fopen
返回NULL
,表示文件打开失败。 - 写入内容: 使用
fprintf
函数将文本写入文件。fprintf
的用法类似于printf
,但它的第一个参数是文件指针。 - 关闭文件: 使用
fclose
函数关闭文件,确保所有缓冲区的数据都写入文件。
注意事项
- 如果需要追加内容到文件,可以将模式
"w"
改为"a"
,表示追加模式。 - 使用
fwrite
可以写入二进制数据,适用于非文本文件的写入。
#include <stdio.h>int main() {FILE *file = fopen("output.bin", "wb");if (file == NULL) {printf("无法打开文件\n");return 1;}int data = 12345;fwrite(&data, sizeof(int), 1, file);fclose(file);printf("二进制写入完成\n");return 0;
}
以上示例展示了如何将整数写入二进制文件。
读取文件
在C语言中,读取文件通常使用标准库函数 fopen
、fscanf
、fread
和 fclose
。以下是一个简单的示例,演示如何从文本文件读取内容。
#include <stdio.h>int main() {// 打开文件以读取模式 ("r" 表示读取)FILE *file = fopen("output.txt", "r");// 检查文件是否成功打开if (file == NULL) {printf("无法打开文件\n");return 1;}// 读取文本内容char buffer[100];while (fgets(buffer, sizeof(buffer), file) != NULL) {printf("%s", buffer);}// 关闭文件fclose(file);return 0;
}
详细步骤
- 打开文件: 使用
fopen
函数打开文件。第一个参数是文件名,第二个参数是模式,这里使用"r"
表示读取模式。 - 检查文件指针: 确保文件成功打开。如果
fopen
返回NULL
,表示文件打开失败。 - 读取内容: 使用
fgets
函数从文件中读取文本行。fgets
的第一个参数是存储读取内容的缓冲区,第二个参数是缓冲区大小,第三个参数是文件指针。 - 关闭文件: 使用
fclose
函数关闭文件。
注意事项
- 如果需要读取二进制文件,可以将模式
"r"
改为"rb"
,并使用fread
函数读取数据。 - 使用
fscanf
可以读取格式化的文本数据,适用于结构化文本文件的读取。
#include <stdio.h>int main() {FILE *file = fopen("output.bin", "rb");if (file == NULL) {printf("无法打开文件\n");return 1;}int data;fread(&data, sizeof(int), 1, file);fclose(file);printf("读取的二进制数据: %d\n", data);return 0;
}
以上示例展示了如何从二进制文件读取整数数据。