数据读取的常见函数以及区别(fopen、open、textscan、fwrite、fread函数)
1、fopen函数
语法1:fileID = fopen(filename)
打开文件 filename, 返回等于或大于 3 的整数文件标识符,以便以二进制读取形式进行访问。
0、1 和 2 分别用于标准输入、标准输出(屏幕)和标准错误。如果 fopen 无法打开文件,则 fileID 为 -1。
!!!经常与textscan、fread、fwrite函数结合使用
fopen也可以写入文件,对新写入的文件输出fileID。(具体看fwrite函数的案例)
语法2:filename = fopen(fileID)
输入fileID,可以返回指定文件ID所使用的文件名。
案例:
2、open函数
语法1:open filename
主要用于打开一些脚本文件
语法2:open 路径/filename
若文件不在工作路径,手动输入路径也可打开文件。(注意!!当路径中有空格时,用单引号引起来)
案例1:直接输入文件名称,编辑器中自动加载该程序代码。
案例2:加上文件路径,打开不在路径下的文件。
3、textscan函数
将数据以一定格式读取到元胞数组
语法1:C = textscan(fileID,formatSpec)
先使用 fopen 可打开文件并获取文件标识符 fileID 值,文件读取后,textscan 尝试将fileID对应文件中的数据与 formatSpec 中的转换设定符匹配,最后调用 fclose(fileID) 来关闭文件。
textscan 函数在整个文件中按 formatSpec 重复扫描数据,直至 formatSpec 找不到匹配的数据时才停止
语法2:C = textscan(chr,formatSpec)
将字符向量 chr 中的文本读取到元胞数组 C 中,textscan 尝试将字符向量 chr 中的数据与 formatSpec 中指定的格式匹配。从字符向量读取文本时,对 textscan 的每一次重复调用都会从开头位置重新开始扫描。要从上次位置重新开始扫描,需要指定 position 输出参数。
案例1:先查看filename的内容,共9列,用textscan设置这9列参数的输出格式分别为%s,%s,%f32,…,再用fclose关掉这个fileID,可以看到下面得到的C元胞数组,以及每个元胞存放的数据类型不同。
案例2:对这个chr变量读取,重新设置了输出格式位双精度浮点型,得到C元胞数组如下:
4、fwrite函数
写数据到二进制文件,返回的结果是写入数据的个数。
语法1:fwrite(fileID,A)
将数组 A 的元素按列顺序以 8 位无符号整数的形式写入一个二进制文件。该二进制文件由文件标识符 fileID 指示。
语法2:
案例:
写二进制文件:(1)打开point文件,在对 fopen 的调用中使用 ‘w’ 指定写入访问权限。(2)将 1 到 9 的整数以 8 位无符号整数(uint8,范围0~255)的形式写入。(注意!![1:9]本来是一个行向量,但写入是以列写入,因此写进来为列向量)(3)关掉这个fileID
读二进制文件:(1)用fopen打开该二进制文件,返回为一个ID号码(2)fread函数读这个ID。即可读到这个二进制文件。
特别注意!!每次fopen之后,都要fclose,否则写入的数据读不到,fclose类似于保存并退出的操作。(可以试一下fopen、fwrite后直接fread返回结果为空)
若要在写好的二进制文件中添加新的数据,则需要重新fopen,fwrite,案例如下:
(1)用选项‘a’在二进制文件附加数据
K矩阵如下:
(2)读数据
可以发现,结果为一个列向量。
fread的时候,可以选择想要读的数据,输出的行列号,数据类型。
案例:(1)在写入数据的时候指定数据类型
(2)仅读前六个值(共9个值),读取输出到一个 3×2 数组中,指定源数据为 uint16 类。
5、fread函数
语法1:A = fread(fileID) 将打开的二进制文件中的数据读取到列向量 A 中。
语法2:A = fread(fileID,sizeA,precision) , precision 指的是读取数据的类型(整型、浮点型,复数…)sizeA指的是A的行列号。
fread函数的案例结合fwrite函数看,这里不写。
6、imread函数
主要用于读取图像文件,也可对读取到的图像设置一定格式,具体看help文件,比较简单。
数据读取的常见函数以及区别(fopen、open、textscan、fwrite、fread函数)相关推荐
- matlab的各种数据读取(txt,dat,mat等格式)
MATLAB提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据:将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据.至于选择哪种机制,则根据下面两个因素决定: ● 用 ...
- matlab打开dat形式文件_matlab的各种数据读取(txt,dat,mat等格式),文件打开关闭...
MATLAB提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据:将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据.至于选择哪种机制,则根据下面两个因素决定: ● 用 ...
- Matlab的各种数据读取、文件读写等操作汇总
Matlab的各种数据读取.文件读写等操作汇总 MATLAB提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据:将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据.至 ...
- Tensorflow数据读取篇之一 ——字节与张量的区别
前言 字节串(bytes)类型和张量(tensor)类型是两种不同的数据类型,它们在数据类型.内存分配和计算方式等方面有所不同. 一.区别 数据类型:字节串是一种特殊的不可变序列类型,用来表示二进制数 ...
- 图像位深度 8位 16位 24位 32位区别对比 RGB 真彩色 基本概念:(大小,深度,通道)位深度数据类型转换原理 Mat数据读取(opencv里的imread)
位深度 位深度是指在记录数字图像的颜色时,计算机实际上是用每个像素需要的二进制数值位数来表示的.计算机之所以能够显示颜色,是采用了一种称作"位"( bit ) 的记数单位来记录所表 ...
- matlab 行 读取文件 跳过_MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)...
本帖最后由 rocwoods 于 2010-12-29 15:09 编辑 振动论坛原版主eight的经典贴http://www.chinavib.com/thread-45622-1-1.html M ...
- 数据读取与数据扩增方法
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:樊亮.黄星源.Datawhale优秀学习者 本文对图像数据读取及图 ...
- 【TensorFlow2.0】数据读取与使用方式
大家好,这是专栏<TensorFlow2.0>的第三篇文章,讲述如何使用TensorFlow2.0读取和使用自己的数据集. 如果您正在学习计算机视觉,无论你通过书籍还是视频学习,大部分的教 ...
- php记录读取数据类型,数据读取 · ThinkPHP 3.2.3开发手册 · 看云
# 数据读取 在ThinkPHP中读取数据的方式很多,通常分为读取数据.读取数据集和读取字段值. 数据查询方法支持的连贯操作方法有: 连贯操作 作用 支持的参数类型where 用于查询或者更新条件的定 ...
- TensorFlow数据读取机制:文件队列 tf.train.slice_input_producer和 tf.data.Dataset机制
TensorFlow数据读取机制:文件队列 tf.train.slice_input_producer和tf.data.Dataset机制 之前写了一篇博客,关于<Tensorflow生成自己的 ...
最新文章
- DeepMind最新发现!神经网络的性能竟然优于神经符号模型
- 寿光农商行计算机机房,寿光农商银行 举办2021年新员工入职仪式
- python opencv转换bytesio
- AI芯片怎么降功耗?从ISSCC2017说起
- php可以独立运行,【判断题】PHP不能独立运行,只能和Apache服务器一同使用( )。...
- 57岁博士,第三次出征太空...
- Java—正则表达式(Pattern类和Matcher类)
- 随着电子计算机的应用 会计信息保存的形式,会计信息功系统简答题.doc
- 《音频、图像及视频技术》学习笔记
- 乱谈互联网产品开发(二)
- SSI指令使用详解(转)
- Atitit websocket 使用大概总结 使用场景 websocket 实时信息的Web应用却带来了很大的不便,如带有即时通信、实时数据、订阅推送等功能的应 用 实时数据可以用来更新缓存
- 单片机音乐倒数计时器c语言,基于单片机音乐倒数计时器设计.doc
- LiveLinkFce的Arkit与Character Creator动画曲线的对接
- html视频怎么改大小,对视频大小、比例进行修改
- Debian 10.2命令安装Nvidia显卡驱动成功,问题回顾
- python requests 登录接口场景使用案例
- 外国小伙发现乌云是黑色的……
- js引擎渲染php,主流浏览器内核及JS引擎
- PPT如何直接转换为word
热门文章
- 氨基酸在php的溶液中,氨基酸等电点的计算和应用.ppt
- 几行代码快速去掉迅雷临时文件的后缀
- day048:LocalDateTime中增加、减少、直接修改时间的方法、计算时间间隔的方法
- [渝粤教育] 郑州轻工业大学 马克思主义基本原理概论 参考 资料
- java 求矩阵的伴随矩阵_求矩阵伴随矩阵的java实现
- 贴片钽电容的封装、尺寸和标…
- 交互设计——超越人机交互
- 关于脏读,不可重复读,幻读的理解
- STM32F1--FreeRTOS系统移植运行报错:L6218E:Undefined symbol xTaskGetSchedulerState (referred from delay.o)
- 软件工程-基本流程图