什么';用二进制格式化二维双精度矩阵以读取IDL的最基本方法是什么? 所以我有一个C++的双J矩阵,我想把它读入IDL程序。p>

什么';用二进制格式化二维双精度矩阵以读取IDL的最基本方法是什么? 所以我有一个C++的双J矩阵,我想把它读入IDL程序。p>,c++,matrix,binary,idl-programming-language,C++,Matrix,Binary,Idl Programming Language,假设该矩阵称为数据,大小行按COLS排列,名称字符串保存为filename。我只是把数据流中的值写到一个二进制文件中 ofstream myfile (filename, ios::binary); if(myfile.isopen()) { for (int i = 0; i < ROWS; i++){ for (int j=0; j < COLS; j++){ myfile<<data.at(i,j); } myfile.close(

假设该矩阵称为数据,大小行按COLS排列,名称字符串保存为filename。我只是把数据流中的值写到一个二进制文件中

ofstream myfile (filename, ios::binary);
if(myfile.isopen())
{
  for (int i = 0; i < ROWS; i++){
     for (int j=0; j < COLS; j++){
          myfile<<data.at(i,j);
}
myfile.close();
…但我将此错误作为输出

% READ_BINARY: READU: End of file encountered. Unit: 100, File:
...
% Execution halted at: READ_BINMATRIX     21 
...

您是否已经测试了C++部分独立,以及查看二进制文件来验证您期望的值吗?您确信这个问题是否正确地被标记?IDL,接口描述语言的简称,是一种语言[…](与科学和医学图像分析所用的语言不混淆)。-您是否使用了正确的
[idl]
标记?
myfile@JeremyGamet嗯,我写了一个答案。
% READ_BINARY: READU: End of file encountered. Unit: 100, File:
...
% Execution halted at: READ_BINMATRIX     21 
...
 myfile<<data.at(i,j); 
 myfile.write(reinterpret_cast<char*>(&data.at(i,j),sizeof(decltype(data.at(i,j))));