clear all
close all
clc
for i= 1:500
m = num2str(i,'%06d');
fin=fopen(['G:\DM2007\txt\',m,'.txt'],'r');
if fin>0
fout=fopen(['G:\DM2007\txt1\',m,'.txt']','w');
while ~feof(fin)
% 函数feof(fid)用法:文件指针 fid 到达文件末尾时返回“真”值;否则返回“假”;
% ~feof 是在 feof 前加了“非”,是逻辑表达式:文件指针到达文件末尾时 该表达式值为“假”;否则为“真”;
% while ~feof 表示 若 未读到文件末尾 则 继续 循环
% while feof 表示 若 未读到文件末尾 则 终止 循环,所以只循环一次就终止了,运行结果自然为0
tline=fgetl(fin);
% 函数fgetl功能:从文件中读取一行数据,并去掉行末的换行符。
% 语法格式:tline = fgetl(fid)
% fid是通过fopen函数打开文件后得到的一个整型的文件标识。fgetl从这个文件中读取一行数据并丢弃其中的换行符。如果读取成功,tline容纳了读取到的文本字符串,如果遇到文件末尾的结束标志(EOF),则函数返回-1,即tline值为-1。
% 返回的字符串tline并不包含文本行的行终止符。要得到行终止符,可以使用函数fgets
a=0;
b=1;
for i=1:length(tline)
if (~strncmp(tline(i),' '' ',1))&&(b<9) %判断这个字符是不是空格,如果不是空格的话就将其自动的写到txt文件中,(b<9)是因为我需要的是删除每行的前9个字符
fprintf(fout,'%s',tline(i)); %里的空格,如果不需要,可以自行删除
end
if (~strncmp(tline(i),'\',1))&&(b>=9)
fprintf(fout,'%s',tline(i));
end
b=b+1;
end
fprintf(fout,'\r\n');
end
fclose(fin);
fclose(fout);
end
end
%% 下面是用于批量读取txt文件,然后并找到不存在的txt文件;
% close all
% clear all
% clc
% A=[];
% b=1;
% for i=1:499
% m = num2str(i,'%06d');
% fid = fopen(['G:\实验数据\txt\',m,'.txt'],'r');
% if fid<0
% A(b)=i;
% b=b+1;
% end
% end
%% 用于判断txt文件是否正常打开; 若文件正常打开,则fid>0; 否则fid<0;
% fid=fopen('000004.txt','r');
% if fid > 0
% msgbox('成功打开文件!');
% else
% errordlg('文件打开失败', '文件错误');
% end
使用matlab批量的读取txt文件,并批量的删除文件中的空格 附:代码
最新推荐文章于 2024-07-23 15:33:17 发布