如何在Octave中刷新dlmwrite的输出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Octave中刷新dlmwrite的输出相关的知识,希望对你有一定的参考价值。

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"
答案

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

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

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

如果您使用包含多个char的文件名,请确认所有工作都按预期工作。

编辑:

以上是关于如何在Octave中刷新dlmwrite的输出的主要内容,如果未能解决你的问题,请参考以下文章

将 octave/matlab 输出写入剪贴板

如何在 Octave 中获取环境小数点分隔符

MATLAB如何保存数据(转载)

如何从 GTK+2 C 代码中调用 matlab/octave 函数

dlmwrite / dlmread 的精度问题 [重复]

Matlab中,如何将所写的文件保存到一个指定文件夹里?