如何在Octave中刷新dlmwrite的输出

时间:2017-12-16 09:46:13

标签: io octave

dlmwrite命令写入文件,但没有最后几百个字节。我该如何刷新这些字节。似乎我无法使用fflush,因为我没有文件ID。我的Octave版本是4.2.1

编辑:我进行了小型实验:

>> A=[1 1];
>> dlmwrite('A',A); % after this line you will have an empty file
>> exit             % after this line the file will contain "1,1"

1 个答案:

答案 0 :(得分:1)

好吧,如果文件名只有一个字符长,你在dlmwrite中发现了GNU Octave中的一个错误。看看第197行附近的dlmwrite.m

...
if (! isscalar (file))
  fclose (fid);
endif
...

此代码段尝试检查文件是文件名还是fid(请参阅dlmwrite上的替代调用方法)。显然,如果文件名只有一个字节长,则检查失败,因此是标量。

如果您使用包含多个字符的文件名,请确认所有内容均按预期工作。

编辑: