1. 文件的写入(写入字符串):
#include <stdio.h>
int main() {
FILE *filePointer;
// 打开文件,如果文件不存在则创建
filePointer = fopen("example.txt", "w");
if (filePointer == NULL) {
printf("无法打开文件。\n");
return 1;
}
// 写入字符串到文件
fprintf(filePointer, "Hello, File!\n");
// 关闭文件
fclose(filePointer);
printf("文件写入成功。\n");
return 0;
}
2. 文件的读取(读取字符串):
#include <stdio.h>
int main() {
FILE *filePointer;
char buffer[100];
// 打开文件
filePointer = fopen("example.txt", "r");
if (filePointer == NULL) {
printf("无法打开文件。\n");
return 1;
}
// 读取文件内容到缓冲区
while (fgets(buffer, sizeof(buffer), filePointer) != NULL) {
printf("%s", buffer);
}
// 关闭文件
fclose(filePointer);
return 0;
}
3. 二进制文件的写入和读取:
#include <stdio.h>
struct Person {
char name[50];
int age;
};
int main() {
FILE *binaryFile;
struct Person person = {"John", 25};
// 以二进制写入模式打开文件
binaryFile = fopen("person.bin", "wb");
if (binaryFile == NULL) {
printf("无法打开文件。\n");
return 1;
}
// 写入结构体到文件
fwrite(&person, sizeof(struct Person), 1, binaryFile);
// 关闭文件
fclose(binaryFile);
printf("二进制文件写入成功。\n");
// 以二进制读取模式打开文件
binaryFile = fopen("person.bin", "rb");
if (binaryFile == NULL) {
printf("无法打开文件。\n");
return 1;
}
struct Person readPerson;
// 从文件中读取结构体
fread(&readPerson, sizeof(struct Person), 1, binaryFile);
// 关闭文件
fclose(binaryFile);
// 输出读取到的结构体内容
printf("读取到的结构体:\n");
printf("Name: %s\n", readPerson.name);
printf("Age: %d\n", readPerson.age);
return 0;
}
以上代码中,fopen 用于打开文件,fprintf 和 fgets 用于文本文件的写入和读取,fwrite 和 fread 用于二进制文件的写入和读取。务必注意在使用文件指针前检查文件是否成功打开(文件指针是否为 NULL),并在操作完成后关闭文件。
请注意,文件的读写涉及到文件的路径和权限问题,确保程序有足够的权限来读写指定的文件。
这只是文件读写的基础,实际应用中可能涉及更多的错误处理和更复杂的文件结构。
转载请注明出处:http://www.pingtaimeng.com/article/detail/3188/C语言