c 语言文件读写
创始人
2025-05-28 11:27:00

一、读写txt文件

这段代码可以将字符串写入文件,并从文件中读取字符串并输出到控制台。
#include 
#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 
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 
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 
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;
}

相关内容

热门资讯

玩家实测“玄灵大厅到底有没有挂... 您好:玄灵大厅这款游戏可以开挂,确实是有挂的,需要软件加微信【5951795】,很多玩家在玄灵大厅这...
今日分享-" 天天贵... 您好:天天贵阳麻将这款游戏可以开挂,确实是有挂的,需要软件加微信【9503776】,很多玩家在天天贵...
科技推荐.德扑圈.到底是不是挂... 亲.德扑圈这款游戏是可以开挂的,确实是有挂的,通过添加客服【9183893】很多玩家在这款游戏中怀疑...
分享实测“新九方到底是不是有挂... 您好:新九方这款游戏可以开挂,确实是有挂的,需要软件加微信【5951795】,很多玩家在新九方这款游...
重大通报“姜丝麻将到底有挂吗”... 您好:姜丝麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【3636476】很多玩家在这款游戏...