Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 20:41   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 Matlab命令访问每个文件的最后一行?

我有20个文本文件,并且我想使用matlab循环来获取每个文件的最后一行,而不考虑其他行。有没有matlab命令来解决这个问题?



回答:

您可以尝试做的一件事是将文本文件作为二进制文件打开,查找到文件末尾,然后从文件末尾向后读取单个字符(即字节)。此代码将从文件末尾读取字符,直到命中换行符为止(如果在文件末尾找到换行符,则忽略换行符):

fid = fopen('data.txt','r'); %# Open the file as a binary lastLine = ''; %# Initialize to empty offset = 1; %# Offset from the end of file fseek(fid,-offset,'eof'); %# Seek to the file end, minus the offset newChar = fread(fid,1,'*char'); %# Read one character while (~strcmp(newChar,char(10))) || (offset == 1) lastLine = [newChar lastLine]; %# Add the character to a string offset = offset+1; fseek(fid,-offset,'eof'); %# Seek to the file end, minus the offset newChar = fread(fid,1,'*char'); %# Read one character end fclose(fid); %# Close the file

更多&回答...
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 00:14


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.