我正在尝试使用MATLAB将新行添加到循环中的.txt
文件中,如下所示:
for i=1:N
% do something
% something done. write them to text file:
fid = fopen(outfile, 'a');
for j = 1:numel(smth.text)
fprintf(fid, '\n%s;%d', smth.text{j}, smth.data(j));
end
fclose(fid);
end
当我完成后,我在Notepad ++中打开文件(如果相关,编码是UTF-8)并正确看到它,即:
text1;data1
text2;data2
etc
然而,当我在Windows的记事本中打开文件时,我看到它是这样的:
text1;data1text2;data2etc
因此换行符中没有显示换行符。
我如何解决这个问题,以便我可以随处获取新行?
感谢您的帮助,
答案 0 :(得分:1)
您需要在yoru \r
命令中添加fprintf
以便Windows记事本识别换行符(记事本++显示不会受到影响)。
for i=1:N
% do something
fid = fopen(outfile, 'a');
for j = 1:numel(smth)
fprintf(fid, '\r\n%s;%d', smth.text{j}, smth.data(j));
end
fclose(fid);
end
可以找到\r
和\n
之间差异的一个很好的解释here