在Matlab中产生逗号的fprintf

在Matlab中产生逗号的fprintf,matlab,Matlab,我试图将表数据输出到一个.dat文件,在该文件中,我用换行符分隔行,用逗号分隔列数据。我为前几行写了以下内容: fileID = fopen(strcat(filename,'.dat'), 'wt'); fprintf(fileID, '"","","","","","","",""\n'); fprintf(fileID, '"TIMESTAMP","RECORD","MuxAddress","Averages"\n'); fclose(fileID); 这将在文件中生成以下文本:

我试图将表数据输出到一个.dat文件,在该文件中,我用换行符分隔行,用逗号分隔列数据。我为前几行写了以下内容:

fileID = fopen(strcat(filename,'.dat'), 'wt');    
fprintf(fileID, '"","","","","","","",""\n');
fprintf(fileID, '"TIMESTAMP","RECORD","MuxAddress","Averages"\n');
fclose(fileID);
这将在文件中生成以下文本:

"","","","","","","",""
"TIMESTAMP","RECORD","MuxAddress","Averages"
不幸的是,代码实际上生成了以下文本:

"","","","","","","","",
"TIMESTAMP","RECORD","MuxAddress","Averages",
你可以看到在每行的末尾都有逗号。这个问题破坏了我正在使用的一个查看器程序,我看不出有办法修复它。我也没有发现其他人说他们有这个问题


我已经做了一些测试,如果我自己用换行符做一个fprintf,它不会放一个逗号,但只要我放第二个fprintf,它就会在两行的末尾都创建逗号。

因此,这一切都取决于文件权限。在覆盖文件而不是追加文件的特定情况下,代码将添加逗号。我从未发现添加逗号的原因,但我确实发现,如果我附加文件而不是覆盖它们,它们就会消失。

那么您运行的代码肯定与您在此处发布的代码不同。将fileID更改为1以进行检查,您将在工作区中看到它没有打印尾随逗号。我不是。这就是让我困惑的地方。除非你重新定义了fprintf,否则你就是。请按我上面建议的做。我假设您打开的文件与正在写入的文件不同。如果我将文件ID更改为1,则逗号不在其中,但如果我将其更改回文件ID,则它们仍会被放在文件中。@vtlavs Mac、Linux、Windows以及R2008a和R2016b之间的所有版本,并且没有逗号。