我想用单元格数组的内容制作一个文本文件。以下是MWE。当我使用没有文件参数的fprintf(只在命令窗口中打印时,例如fprintf(['\t\\hline ',repmat('%s & ',1,size(A,1)),'\b\b','\\\\','\n'],A{:})),代码工作得很好。但是,当我用fopen打开一个文件并尝试向它写入相同的内容时,双后退(\b\b)不起作用。' b'产生退格不工作在fprintf到txt文件(MATLAB)
MWE:
A = num2cell(rand(3,3));
fid = fopen('test.txt','w');
fprintf(fid,['\t\\hline ',repmat('%s & ',1,size(A,1)),'\b\b','\\\\','\n'],A{:})
我在命令窗口中得到什么:
\hline 7.922073e-01 & 9.594924e-01 & 6.557407e-01 \\
\hline 3.571168e-02 & 8.491293e-01 & 9.339932e-01 \\
\hline 6.787352e-01 & 7.577401e-01 & 7.431325e-01 \\
我能得到什么的 '的test.txt' 文件:
\hline 7.922073e-01 & 9.594924e-01 & 6.557407e-01 & \\
\hline 3.571168e-02 & 8.491293e-01 & 9.339932e-01 & \\
\hline 6.787352e-01 & 7.577401e-01 & 7.431325e-01 & \\
和粘贴时这个问题的'test.txt'的内容,而不是像他们在.txt文件中看到的那样显示,有些框显示了后面的位置步伐应该已经被应用(如下图)。我怎样才能让backspaces工作并删除.txt文件中的&?
+0
如果'A'的内容是浮点数,则应该使用'%f'而不是'%s' –
+0
@ rahnema1这并不能解决问题。 –
+0
[相关](https://stackoverflow.com/questions/43299376/writing-a-backspace-in-a-file/43299424)。它将退格的ASCII码写入文件。 –