我有一个名为myarray
的字符串单元格数组,其中包含n
个元素。我想将数组写入名为myfile.txt
的文本文件中。我希望文本文件中的每一行都对应于单元格中的一个元素。
当我尝试以下操作时:
fid = fopen('myfile.txt', 'w');
for i=1:n
fprintf(fid, '%s\n', myarray{i});
end
但是,这会在每个元素后输出一个没有任何回车符的文件。当我在Windows的记事本中打开它时,我只看到一个字符列表,这些字符来自myarray
中连接在一起的字符串。但是,我希望每个字符串都在它自己的行上。
发生了什么事?
答案 0 :(得分:2)
使用NotePad,您可能需要使用'\ r \ n'而不是'\ n'。因此:
fid = fopen('myfile.txt', 'w');
for i=1:n
fprintf(fid, '%s\r\n', myarray{i});
end
我现在无法测试它。看看这个:
取自Matlab帮助:
某些Windows®文本编辑器(包括Microsoft®Notepad)需要一个 换行字符序列'\ r \ n'而不是'\ n'。但是,'\ n'是 适用于Microsoft Word或写字板
http://www.mathworks.com/help/matlab/import_export/write-to-delimited-data-files.html#br2ypq2-1
答案 1 :(得分:0)
您有两种选择。