2017-12-16 12 views
1

dlmwriteコマンドはファイルに書き出しますが、最後の数百バイトは書き込まれません。どのようにこれらのバイトをフラッシュすることができます。ファイルIDがないのでfflushを使用できないようです。私のオクターブのバージョンは4.2.1Octaveでdlmwriteの出力をフラッシュする方法

EDITです:ファイル名が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

はまあ、あなたがdlmwriteにGNU Octaveの中にバグを見つけた:私は小さな実験を行いました。 197

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

このコードスニペットは、ファイルはファイル名やFID(dlmwriteに代替呼び出し方法を参照)があるかどうかを確認しようとした線を中心dlmwrite.mを見てみましょう。明らかに、ファイル名が1バイトだけでスカラーの場合、このチェックは失敗します。

複数の文字を含むファイル名を使用する場合は、すべて正常に動作することを確認してください。

EDIT:

+0

ヤップ、それは長い名前で正常に動作します。 [The bug report。](http://savannah.gnu.org/bugs/index.php?52679)ありがとう! – Yola

関連する問題