Io 如何在倍频程中刷新dlmwrite的输出

Io 如何在倍频程中刷新dlmwrite的输出,io,octave,Io,Octave,dlmwrite命令写入文件,但没有最后几百个字节。如何刷新这些字节。似乎我无法使用fflush,因为我没有文件id。我的倍频程版本是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
命令写入文件,但没有最后几百个字节。如何刷新这些字节。似乎我无法使用
fflush
,因为我没有文件id。我的倍频程版本是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八度音阶中发现了一个bug。查看197行附近的dlmwrite.m

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

如果您使用的文件名包含多个字符,请确认所有操作均按预期进行

编辑:


Yap,它可以很好地处理较长的名称。谢谢