c--文件读写--二进制
fwrite() 写二进制文件
格式:size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
#include<stdio.h> int main () { FILE *fp; char str[] = "This is runoob.com"; fp = fopen( "ss.txt" , "w" ); int n=fwrite(str, sizeof(str) , 1, fp );//写文件 //参数1 ptr:要被写入的数组的指针 //参数2:每个元素的大小,以字节为单位 //参数3:整个数组str中 包含多少个元素 //参数4:文件指针 //返回值:成功写入的块数,而不是字节数;写入正确返回值=参数3;如果遇到 EOF(“written==EOF”),就返回 0 fclose(fp); printf("%d\n",n); return(0); }
#include<stdio.h> #include<string.h> typedef struct student{ char name[20]; int age; int cenji; }Student; int main () { Student stu[5]; strcpy(stu[0].name,"liming"); stu[0].age=18; stu[0].cenji=58; strcpy(stu[1].name,"李明"); stu[1].age=19; stu[1].cenji=68; strcpy(stu[2].name,"zansan"); stu[2].age=20; stu[2].cenji=78; strcpy(stu[3].name,"lishi"); stu[3].age=21; stu[3].cenji=88; strcpy(stu[4].name,"李四"); stu[4].age=22; stu[4].cenji=98; FILE *fp = fopen( "ss.txt" , "w" ); int n=fwrite(stu, sizeof(stu[0]) , 5, fp );//写文件 //参数1:是整个数组的指针 //参数2:是每个结构体的字节数 //参数3:整个数组中包含5个结构体 fclose(fp); printf("%d\n",n); return(0); }
fread() 读二进制文件
格式:size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
#include<stdio.h> #include<string.h> typedef struct student{ char name[20]; int age; int cenji; }Student; int main () { Student stu[5]; FILE *fp = fopen( "ss.txt" , "r" ); int n=fread(stu, sizeof(stu[0]) , 5, fp );//读文件 //参数1:是整个数组的指针 //参数2:是每个结构体的字节数 //参数3:整个数组中包含5个结构体 //参数4:文件指针 //返回值:读取的块数 fclose(fp); printf("%s\n",stu[0].name); printf("%s\n",stu[1].name); printf("%s\n",stu[4].name); return(0); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
2019-07-26 HttpClient——ESP8266HTTPClient库