我不熟悉Matlab。 我正在处理由字母数字和符号组成的数据。 我想将底线移到文件的最顶部。 我已经研究过使用fseek等的其他方法,但是那些让我困惑并使用超特定文件特征的方法。 有没有一般的方法来做到这一点?
感谢您的时间。
答案 0 :(得分:0)
答案 1 :(得分:0)
对于字母数字文件,最简单易懂的方法是完全读取文件,将行保存在字符串单元格数组中,并按照适合您的顺序编写。这些行应该在这里解决你的问题。
readfin = fopen('myfile.txt','r');
writefin = fopen('modifiedfile.txt', 'w');
lineno = 1;
% Get all lines one by one and save them
while(~feof(readfin))
newline{lineno} = fgetl(readfin);
lineno = lineno + 1;
end
% Write first line
fprintf(writefin, '%s', newline{end});
% Write the rest of the lines one by one
for lineno=1:(length(newline)-1)
fprintf(writefin,'\n');
fprintf(writefin, '%s', newline{lineno});
end
fclose(readfin);
fclose(writefin);
答案 2 :(得分:0)
这个答案怎么样: MATLAB: How do you insert a line of text at the beginning of a file?
fid = fopen(filepath);
while 1
line = fgetl(fid);
if ~ischar(line)
break;
end
pline = line;
end
fclose(fid);
dlmwrite(filepath,[pline 13 10 fileread(filepath)],'delimiter','');