一、读写txt文件
这段代码可以将字符串写入文件,并从文件中读取字符串并输出到控制台。
#include <stdio.h>
#define _CRT_SECURE_NO_WARNINGS
int main()
{
FILE *fp;
char str[100];
// 写入文件
fp = fopen("test.txt", "w");
fprintf(fp, "This is a test.\n");
fputs("Hello, World!", fp);
fclose(fp);
// 读取文件
fp = fopen("test.txt", "r");
while (fgets(str, 100, fp) != NULL)
{
printf("%s", str);
}
fclose(fp);
return 0;
}
二、读写二进制文件
首先打开一个名为 "data.bin" 的文件,使用 fwrite() 函数将字符串 "Hello, world!" 写入文件中,然后关闭文件。接着再次打开文件,使用 fread() 函数读取文件中的数据到缓冲区中,最后输出缓冲区中的内容。
#include <stdio.h>
int main() {
FILE *fp;
char buffer[100];
// 写入二进制文件
fp = fopen("data.bin", "wb");
fwrite("Hello, world!", sizeof(char), 13, fp);
fclose(fp);
// 读取二进制文件
fp = fopen("data.bin", "rb");
fread(buffer, sizeof(char), 13, fp);
fclose(fp);
printf("%s\n", buffer);
return 0;
}
三、读写结构体
定义了一个名为 student 的结构体,包含了学生的姓名、年龄和成绩。在 main 函数中,我们首先创建了一个 student 类型的变量 stu ,并初始化了它的值。然后,我们使用 fopen 函数打开一个名为 student.dat 的文件,并使用 fwrite 函数将 stu 写入到文件中。接着,我们再次使用 fopen 函数打开文件,并使用 fread 函数从文件中读取数据到 stu 变量中。最后,我们打印出 stu 变量中的值,即学生的姓名、年龄和成绩。
注意,这段代码只是一个示例,实际应用中需要根据具体需求进行修改和完善。
基础篇
#include <stdio.h>
struct student
{
char name[20];
int age;
float score;
}
;
int main() {
struct student stu =
{
"Tom", 18, 90.5
}
;
FILE *fp;
// 写入结构体数据到文件
fp = fopen("student.dat", "wb");
fwrite(&stu, sizeof(struct student), 1, fp);
fclose(fp);
// 从文件中读取结构体数据
fp = fopen("student.dat", "rb");
fread(&stu, sizeof(struct student), 1, fp);
printf("Name: %s\nAge: %d\nScore: %.1f\n", stu.name, stu.age, stu.score);
fclose(fp);
return 0;
}
提升篇
#include <stdio.h>
typedef struct
{
int id;
char name[20];
float score;
}Student;
int main()
{
Student stu =
{
1, "Tom", 89.5
};
FILE *fp = fopen("student.dat", "wb");
if (fp == NULL)
{
printf("Failed to open file.\n");
return 1;
}
fwrite(&stu, sizeof(Student), 1, fp);
fclose(fp);
fp = fopen("student.dat", "rb");
if (fp == NULL)
{
printf("Failed to open file.\n");
return 1;
}
fread(&stu, sizeof(Student), 1, fp);
printf("ID: %d\nName: %s\nScore: %.1f\n", stu.id, stu.name, stu.score);
fclose(fp);
return 0;
}