使用 MATLAB 的 fprintf 在记事本中看不到换行符
newlines not visible in notepad with MATLAB's fprintf
我正在尝试使用 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
所以记事本中没有显示换行符。
我该如何解决这个问题,以便到处都能换行?
感谢您的帮助,
需要在yoru fprintf
命令中为windows记事本添加\r
来识别换行符(不影响notepad++显示)
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
中找到
我正在尝试使用 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
所以记事本中没有显示换行符。
我该如何解决这个问题,以便到处都能换行?
感谢您的帮助,
需要在yoru fprintf
命令中为windows记事本添加\r
来识别换行符(不影响notepad++显示)
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