首页 > 其他分享 >C语言 读取二进制文件中的数组

C语言 读取二进制文件中的数组

时间:2023-11-07 13:11:05浏览次数:28  
标签:fp 20 读取 二进制 C语言 char 数组 data

获取最后n行数据

把每个数组看成是1行

#include <stdio.h>

int main(void)
{
    // 示例数据 成员大小最多20字节 成员数量最多5个
    char s1[5][20] = {"a1", "a2", "a3", "a4", "a5"};
    char s2[5][20] = {"b1", "b2", "b3", "b4", "b5"};
    char s3[5][20] = {"c1", "c2", "c3", "c4", "c5"};

    FILE *fp;
    fp = fopen("output.bin", "wb");
    fwrite(s1, 20, 5, fp);
    fwrite(s2, 20, 5, fp);
    fwrite(s3, 20, 5, fp);
    fclose(fp);

#define N 10
    char data[N][20];
    fp = fopen("output.bin", "rb");
    // 上面写入的数据 每个数组的大小是20*5=100
    // 每个数组看成是1行 要获取最后n行,就是n*100,这里获取最后2行的数据
    fseek(fp, -2 * 100L, SEEK_END);
    size_t items_read = fread(data, 20, N, fp); // 保存实际读取的数量
    fclose(fp);
    // 打印读取到的数据
    for (int i = 0; i < items_read; ++i)
    {
        printf("%s\n", data[i]);
    }

    return 0;
}

 

标签:fp,20,读取,二进制,C语言,char,数组,data
From: https://www.cnblogs.com/yuyanc/p/17814770.html

相关文章

  • 2011年春季-C语言课程设计-指导书
    C语言课程设计指导书注:请各班学习委员按学号顺序对本班同学进行分组(不允许同学自行组合),把后面所列的题目分割开交给各组保留,并组织同学按时上机。1.总体要求1)       按照名单上的顺序分配PC,按照学号的顺序每3人一组(如果剩余2人,则选择任务11;如果剩余1人,则分散到前面的组中......
  • 2011年春季-C语言课程设计-报告格式
    以下内容根据教务处最新要求制定,请严格遵守。附件:课程设计报告的内容及其文本格式1、课程设计报告要求用16k纸排版,单面打印,并装订成册,内容包括:除封面外,其他每页的页脚需要有页码。①封面(包括题目、院系、专业班级、学生学号、学生姓名、指导教师姓名、职称、起止时间等)②设计任务及......
  • 【C语言基础】 指针变量-printf %d和%p的含义
    1.指针变量的值是地址,地址通常用16进制表示2.inta=1;int*p=&a;printf("%d\n",p);和printf("%p\n",p);有什么区别呢,输出的都是p的值,%p是把指针变量p中存储的a的地址以十六进制形式输出,%d是吧p中存储的a的地址以十进制形式输出。输出的都是p的值,不要理解成%p,是把p的地址输出。......
  • matlab中读取txt数据文件(txt文本文档)
    根据txt文档不同种类介绍不同的读取数据方法一、纯数据文件(没有字母和中文,纯数字)对于这种txt文档,从matalb中读取就简单多了例如test.txt文件,内容为17.901-1.111133.04517.891-1.128633.04517.884-1.134533.045可以在commandwindow中输入loadtest.txt,然后就会产生一......
  • C语言 读取csv文件
    #include<stdio.h>#include<stdlib.h>#include<string.h>#defineMAX_LINE_SIZE1024intmain(){//打开要读取的CSV文件FILE*csvFile=fopen("data.csv","r");if(csvFile==NULL){perror("Faile......
  • C语言 写入csv文件
    #include<stdio.h>intmain(){//打开要写入的CSV文件FILE*csvFile=fopen("data.csv","w");if(csvFile==NULL){perror("Failedtoopenfile");return1;}//示例数据constchar*name......
  • 重学C语言——变量及其生命周期
    上一篇blog中,我们写了两个程序,一起来回顾一下~#include<stdio.h>intmain(){ inta=10; printf("%d\n",a); return0;}在这个程序中,我们定义了一个名为a的变量,并申请了4个字节的内存空间,用来存放10这个整数。#include<stdio.h>intmain(){ chara='h'; printf(......
  • Python 文件处理指南:打开、读取、写入、追加、创建和删除文件
    文件处理是任何Web应用程序的重要部分。Python有多个用于创建、读取、更新和删除文件的函数。文件处理在Python中处理文件的关键函数是open()函数。open()函数接受两个参数:文件名和模式。有四种不同的方法(模式)可以打开文件:"r"-读取-默认值。打开一个文件以进行读取,如果文......
  • Python 文件处理指南:打开、读取、写入、追加、创建和删除文件
    文件处理是任何Web应用程序的重要部分。Python有多个用于创建、读取、更新和删除文件的函数。文件处理在Python中处理文件的关键函数是open()函数。open()函数接受两个参数:文件名和模式。有四种不同的方法(模式)可以打开文件:"r"-读取-默认值。打开一个文件以进行读取,如果文......
  • C语言结构体指针
    C语言结构体指针当一个指针变量指向结构体时,称它为结构体指针。C语言结构体指针的定义形式一般为:struct结构体名*变量名;下面是一个定义结构体指针的实例://结构体structstu{char*name;//姓名intnum;//学号intage;//年龄chargroup;//所在小组floatscor......