| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 实战——c/c ++读取包含结构体的二进制dat文件 -> 正文阅读 |
|
[C++知识库]实战——c/c ++读取包含结构体的二进制dat文件 |
????????最近做了一个老师布置的计算方法题目,是让读取文件后解方程的,用python读取后是乱码的,不太好搞,想到这是用C语言编的,不如就用C/C ++ 来解码(其实特别简单)。 数据文件: 链接:https://pan.baidu.com/s/1TzusBPi9FPDYTNCQil-P9w? ? ? ? ? 题目如下: 给定数据读取后求解线性方程组;
附3:线性方程组数据文件格式说明 线性方程组的系数矩阵和右端常量将全部以二进制格式存贮在一个数据文件中, 在使用时必须按指定结构使用二进制格式进行读取。 1.数据文件的文件名后缀为.dat,形式为:文件名.dat; 2.数据文件的结构,分为以下四个部分: (1)文件类型标志部分:该部分存放本数据文件的描述信息,结构如下:
该部分的C语言格式描述为: typedef struct FileInfo { ??? ????? ???long int id;?????????????? // 数据文件标示 ??????????? long int ver;???????????? // 数据文件版本号 ??????????? long int id1;???????????? // 备用标志 } FILEINFO; (2)系数矩阵结构描述部分:该部分包括矩阵的阶数和上下带宽,如果是稀疏矩阵,则上下带宽值为0,结构如下:
该部分的C语言格式描述为: ? typedef struct HeadInfo { ? ????????long int n; ????????????? // 方程组的阶数 ??? ?????long int q; ????????????? // ?上带宽 ??????? ?long int p;?????????????? // ?下带宽 ? ?????} HEADINFO; (3) 系数矩阵数据部分:该部分存放方程组系数矩阵中的所有元素 ①若存贮格式为非压缩格式,则按行方式顺序存贮系数矩阵中的每一个元素,元素总个数为 ,每个元素的类型为float型; ②若存贮格式是压缩方式,则同样是按行方式进行存贮,但每行中只存放上下带宽内的非零元素,即每行中存贮的元素都为 个,不足个数者以0填充; (4)右端系数部分:该部分按顺序存放方程组中的右端的每个系数,个数为n个,每个系数的类型均为float型。 C语言文件那一章当时没咋学,这次特地又回去学了一下: 回顾一下主要内容: 1,文本文件操作中,getc / putc 函数 ,?fscanf / fprintf 函数 ,?fgets / fgets 函数 , 但只能用于操作?文本文件 ;?fread / fwrite 函数(读和写)?既可以操作?二进制文件?, 又可以操作?文本文件 ; 2.FILE *fp为文件指针,随着对文件的读写,文件的位置指针(指向当前读写字节)向后移动?;fopen(),fclose( ),文件的打开和关闭功能 3,fseek()移动文件指针的位置;SEEK_END文件尾部,SEEK_SET文件头部?,rewind() 将指针回到文件流的开头, ftell( ),输出文件的字节大小 可编写代码如下:(部分代码)
?读取前两个数据如下: ? |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 10:53:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |