matlab中 fscanf和fpintf是一对,用fprintf写的必须用fscanf来读。
fread和fwrite是一对,用fwrite写的必须用fread来读。
同样的数据,使用fprintf和fwrite写下去的是不一样的,但是使用其相应的读命令读上来的数据会是一样的。
 
文件格式:文本文件(ASCII文件)和二进制文件。我们平时能够用记事本看的文件就是文本文件。‘
文本文件使用fscanf格式读取。二进制文件用fread读取。
用文本格式写的话可以用十进制 十六进制等读取,但是我觉得本质就是读出字符,然后把 \n或者空格等格式符去掉,之后留下所要的数据。
那么照这个思路来想的话,其实任何文本格式的文件都可以用格式%c读出,只不过每次需要指定读的长度并且跳过那些格式符不读。
例如,我需要读以文本形式保存的ieee标准的double型数据,应该怎么办呢?
先贴一部分数据

4035cfac20000000 3fb31bdce0000000
4025f2a1e0000000 4033678ca0000000
40421bdd80000000 40432d7380000000
402811a080000000 3ffc620c40000000
4047ceb740000000 403a863280000000
40200abec0000000 4032233d60000000
402bc2e900000000 403d0901c0000000
4040058aa0000000 4017c70340000000
3ff908aaa0000000 40380aad80000000
401ed216c0000000 40472a3e00000000
40349c87a0000000 40343133e0000000

这是标准形式的ieee double格式的存储形式,第一行有两个数据,分别为21.811220 ,0.074644。

那我要读取这部分数据怎么办呢?前提是以文本形式保存的数据,以二进制形式保存的直接用fread读就行了。

首先先打开文件fid1=fopen('data_out.txt','r');

然后先读第一行的第一个数,16位。h=fscanf(fid1,'%c',16);

读完之后转化m=hex2num(h);

之后有空格,那就跳过去 fseek(fid1,1,'cof');

再读一个数l=fscanf(fid1,'%c',16);

读完再转化n=hex2num(l);

之后有个换行符是2位,跳过去fseek(fid1,2,'cof');

ok第一行读完,现在文件指针在第二行的第一个字节,以后继续照这样读就行了。

 
modelsim 中fprintf无效,而fwrite是以文本形式读写.
fwrite和fdisplay的区别在于fdisplay会在每次写结束后加\n换行但是fwrite则不会自动加,要想换行需要手动加\n.
modelsim 中一般使用readmemh和readmemb读取数据文件存到memory里边。数据要用空白或换行符隔开。

matlab与modelsim中的文件操作函数的更多相关文章

  1. modelsim中的文件操作—— 大数据测试

    在modelsim中不可避免的需要进行文件操作,在窗口中查看代码的操作情况,下面是我自己M序列实验中的一段测试代码 integer i,j ,k,m; integer m_dataFILE , ind ...

  2. C中的文件操作函数[笔记]

    头件 : #include<stdio.h> 两个必须函数: FILE * fopen(const char * path,const char * mode); //path:文件路径 ...

  3. Linux C 文件操作函数(~上善止水~)

    翻翻笔记,整理一下 C 语言中的文件操作函数 ~~~~~~,多注意细节,maybe 细节决定成败~ 1. fopen /* fopen(打开文件) * * 相关函数 open,fclose * * 表 ...

  4. C语言文件操作函数大全(超详细)

    C语言文件操作函数大全(超详细) 作者: 字体:[增加 减小] 类型:转载 本篇文章是对C语言中的文件操作函数进行了详细的总结分析,需要的朋友参考下   fopen(打开文件)相关函数 open,fc ...

  5. 第32课 Qt中的文件操作

    1. Qt的中IO操作 (1)Qt中IO操作的处理方式 ①Qt通过统一的接口简化了文件和外部设备的操作方式 ②Qt中的文件被看作一种特殊的外部设备 ③Qt中的文件操作与外部设备的操作相同 (2)IO操 ...

  6. Delphi文件操作函数

    文件是同一种类型元素的有序集合,是内存与外设之间传输数据的渠道.文件的本质是一个数据流,所有的文件实际上是一串二进制序列.文件管理包括:1.文件操作.2.目录操作.3.驱动器操作.三部分. 1.常见文 ...

  7. 关于Python中的文件操作(转)

    总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Pyth ...

  8. PHP常用的文件操作函数集锦

    以下是个人总结的PHP文件操作函数.当然,这只是部分,还有很多,我没有列出来. 一 .解析路径: 1 获得文件名:basename();给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件 ...

  9. C语言样式的文件操作函数

    使用C语言样式的文件操作函数,需要包含stdio.h头文件. 1.打开文件的函数: //oflag的取值为“w”或“r”,分别表示以写或读的方式打开 FILE* fd = fopen(filename ...

随机推荐

  1. 解析库之re、beautifulsoup、pyquery

    BeatifulSoup模块 一.介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Be ...

  2. FTP vsftp 安装、管理

    FTP简介 FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为文传协议,用户Internet上的控制文件的双向传输. FTP的主要作用,就是让用户链接上一个远 ...

  3. python3爬虫全国地址信息

    PHP方式写的一团糟所以就用python3重写了一遍,所以因为第二次写了,思路也更清晰了些. 提醒:可能会有502的错误,所以做了异常以及数据库事务处理,暂时没有想到更好的优化方法,所以就先这样吧.待 ...

  4. import和import static的区别

    import static静态导入是JDK1.5中的新特性. 一般我们导入一个类都用 import 包名.类名; 而静态导入是这样:import static 包名.类名.*; 这里的多了个stati ...

  5. js 前台ajax验证马克一下

    function check_form(){ var email=$("#email").val(); var code=$("#code").val(); v ...

  6. ubuntu 14.04 建立wifi热点

    昨天突然想起来我可以用笔记本搞一个热点这样我的手机就不用上流量了,但是手机死活搜不到建好的信号,目前的解决方案如下: 直接用ubuntu自带的创建wifi网络功能是不好使的,因为android系统不支 ...

  7. MFC clist 学习设计

    最近想设计一款WEBSHELL的综合破解工具. 然后设计到了日志输出那儿,因为MFC不熟悉,刚学.所以一直在想用edit控件好还是clist比较好. 今天设计了一下日志输出界面,然后记录一下学习笔记. ...

  8. CocoaPods学习系列2——使自己的项目支持CocoaPods管理

    该篇记录使自己的项目支持CocoaPods管理. 要达到这一目的,需要如下步骤: 1.将自己的项目提交到github,添加开源协议license 2.添加podspec文件 3.验证podspec,成 ...

  9. Android -- 工程架构,电话拨号器, 点击事件的4中写法

    (该系列整理自张泽华android视频教程) 1. android工程 各个文件夹的作用 src/  java原代码存放目录 gen/ 自动生成目录 gen 目录中存放所有由Android开发工具自动 ...

  10. 关于C语言中结构体大小计算

    结构体大小的计算,.网上说法一大堆还都不一样分什么对齐不对齐,偏移量什么的.. 在此稍微举例简单总结下: 对齐原则:每一成员的结束偏移量需对齐为后一成员类型的倍数  补齐原则:最终大小补齐为成员中最大 ...