matlab和verilog文件的读写.ppt

find的例子 * Part II:verilog文件的读写 matlab和verilog文件的读写 Part I:matlab文件的读写 matlab读写文件的过程 * matlab 文件的打开和关闭 二进制文件(.bin)的读写 文本文件(.txt)的读写 读写的定位 *MAT文件的读写 几个有用的函数 * 文件的打开 fopen函数 调用格式: fid=fopen(文件名,‘打开方式’) fid存储文件句柄值,0说明成功打开。 * 常见的打开方式 r :只读方式打开文件(默认的方式),该文件必须已存在。 r+ :读写方式打开文件,打开后先读后写。该文件必须已存在。 ‘w’ :打开后写入数据。该文件已存在则更新(如果只打开则清空文件);不存在则创建。 w+:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。 a :在打开的文件末端添加数据。文件不存在则创建。 a+:打开文件后,先读入数据再添加数据。文件不存在则创建。 另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开; 如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。 * 例子(testbench中) stdFid = fopen( stdFileName, r ); testFid = fopen( testFileName, r ); * 文件的关闭 文件在进行完读、写等操作后,应及时关闭,以免数据丢失。 fclose函数 sta=fclose(fid) 说明:该函数关闭fid 所表示的文件。sta 表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。 关闭所有已打开的文件用fclose(‘all’)。 * 二进制文件写操作 fwrite 函数 按照指定的数据精度将矩阵中的元素写入到文件 调用格式: COUNT=fwrite(fid,A,precision) COUNT :返回所写的数据元素个数(可缺省) fid :文件句柄 A :写入文件的数据 precision :数据精度,常用的数据精度有:char、uchar、int、long、float、double 等。缺省数据精度为uchar,即无符号字符格式。 * 二进制文件读操作 fread 函数 读取二进制文件的数据,并将数据存入矩阵。 调用格式: [A,COUNT]=fread(fid,size,precision) A :用于存放读取数据的矩阵 COUNT :返回所读取的数据元素个数 fid :文件句柄 size :可选项 * size参数 N(读取N 个元素到一个列向量) inf(读取整个文件) [M,N](读数据到M×N 的矩阵中,数据按列存放) * 文本文件读操作 fscanf 函数 读取文本文件的内容,并按指定格式存入矩阵 调用格式: [A,COUNT]=fscanf(fid,format,size) A :存放读取的数据 COUNT :返回所读取的数据元素个数 fid :文件句柄 format :控制读取的数据格式,由%加上格式符组成 size :可选项,决定矩阵A 中数据的排列形式 * format参数 控制读取的数据格式 由%加上格式符组成 常见的格式符有: %和格式符之间可以插入数据宽度,如%16d c 字符型 g 浮点数(自动) d 十进制整数 o 八进制 e 浮点数(科学计数法) s 字符串 f 浮点数(小数形式) x 十六进制 * 文本文件写操作 fprintf 函数 调用格式: fprintf(fid,format,A) fid :文件句柄,指定要写入数据的文件 format :用来控制所写数据格式的格式符,与fscanf 函数相同 A 是用来存放数据的矩阵。 省略fid,则在屏幕上输出 * format参数 flags (optional) Width and precision fields (optional) Conversion character (required) * format中还可以使用的特殊字符 \b 退后一格 \t 水平制表符 \f 换页 \\ 反斜杠 \n 换行 单引号 \r 回车 %% 百分号 * fprintf 举例 fprintf(a= %-12.5f \n,123.456) format 以 % 开头 flag field width precision 格式说明符 - :左对齐 + :输出符号 0 :空白处添 0 空格:前面加一空格 字段宽度 小数点后 输出位数 * 例子 创建一个字符矩阵并存入磁盘,再读出赋值给另一个矩阵。 a=string; fid=fopen(‘d:\char1

文档评论(0)

1亿VIP精品文档

相关文档