2011-11-25 88 views
1

我試圖由彩車用八度(在OS X)的二進制文件,但我發現了以下錯誤的二進制文件:閱讀與倍頻

octave-3.2.3:2> load Input.dat R -binary 
error: load: failed to read matrix from file `Input.dat' 

寫入文件,如下所示:

std::ofstream fout("Input.dat", std::ios::trunc | std::ios::binary); 
fout.write(reinterpret_cast<char*>(Buf), N*sizeof(double)); 
fout.close(); 

任何想法在這裏可能會出錯?

回答

1

load Input.dat R -binary預計文件Input.dat是Octave的二進制文件格式。

如果你想這樣做,你需要弄清楚Octave的二進制格式是什麼。但是,如果您希望從C++輸出文件,則可以使用Octave的fopenfread函數來讀取它。

+0

謝謝,我快速瀏覽了Octaves文件格式,但找不到它。 –

+0

請嘗試下面的代碼(在提供規範的文件頂部附近有一個很大的評論):http://www.google.com/codesearch#Y11mkMpBc8Y/pub/octave/bleeding-edge/octave-2.9.9。的tar.gz%7CK3-pa5KXpC4 /倍頻2.9.9/SRC/ls-oct-binary.cc&exact_package = FTP://ftp.octave.org/pub/octave/bleeding-edge/octave-2.9.9.tar。 GZ&q = save_binary_data&類型= CS –