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);
}
复制代码

 

 

 

 

 

 

 

posted @   天子骄龙  阅读(797)  评论(0编辑  收藏  举报
编辑推荐:
· 基于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库
点击右上角即可分享
微信分享提示

目录导航