IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Matlab文件IO操作函数,fgetl和textscan介绍以及使用时可能遇到的问题 -> 正文阅读

[大数据]Matlab文件IO操作函数,fgetl和textscan介绍以及使用时可能遇到的问题

在这里插入图片描述
我们着重看一下fgetl的实现,lt返回的是换行符的ASCII代码值,0D0A,所以fgetl是能够返回指定文件的下一行并删除换行符的,fgets读取时会保留换行符。
当textscan和fgetl配合使用的时候,会碰到以下情况,textscan读取数据之后,fgetl再读取数据读出来的是空值。
原因: texscan是一个需要指定格式和调用次数的函数,他对文件的操作并不是以换行符为分界线的,所以fgetl在textscan之后调用时,需要对遗留的换行符进行处理,所以每次fgetl会有一次返回空值的情况。

C = textscan(fileID,formatSpec,N) /*按 formatSpec 读取文件数据 N 次,其中 N 是一个正整数。
要在 N 个周期后从文件读取其他数据,请使用原 fileID 再次调用 textscan 进行扫描。
如果通过调用具有相同文件标识符 (fileID) 的 textscan 恢复文件的文本扫描,则 textscan 将在上次终止读取的点处自动恢复读取*/
function tline = fgetl(fid)
%FGETL Read line from file, discard newline character.
%   TLINE = FGETL(FID) returns the next line of a file associated with file
%   identifier FID as a MATLAB character vector. The line terminator is NOT included.
%   Use FGETS to get the next line with the line terminator INCLUDED. If just an
%   end-of-file is encountered, -1 is returned.
%
%   If an error occurs while reading from the file, FGETL returns an empty character
%   vector. Use FERROR to determine the nature of the error.
%
%   MATLAB reads characters using the encoding scheme associated with the file. See
%   FOPEN for more information.
%
%   FGETL is intended for use with files that contain newline characters. Given a
%   file with no newline characters, FGETL may take a long time to execute.
%
%   Example
%       fid=fopen('fgetl.m');
%       while 1
%           tline = fgetl(fid);
%           if ~ischar(tline), break, end
%           disp(tline)
%       end
%       fclose(fid);
%
%   See also FGETS, FOPEN, FERROR.

%   Copyright 1984-2016 The MathWorks, Inc.

narginchk(1,1)

[tline,lt] = fgets(fid);
tline = tline(1:end-length(lt));
if isempty(tline)
    tline = '';
end

end
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-27 11:23:07  更:2022-04-27 11:23:28 
 
开发: 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 2:33:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码