C 矩阵输出使用ofstream

C++ matrix output using ofstream

本文关键字:ofstream 输出      更新时间:2023-10-16

我试图以矩阵的形式使函数输出数字,而不仅仅是行

void SaveMatrix(TMatrix* mat){
  ofstream SaveM;
  SaveM.open("Matrix.txt", ios::out);
  if (SaveM.is_open()){
      for (int i=0; i<mat->line; ++i){
          for (int j=0; j<mat->column; ++j){
              SaveM<< mat->m[i][j]<<" ";
          }
      }
  }else{
     cout<<"file is open"<<endl; 
  }
}

我试图将其放入第二个for-cycle中,而没有结果

if(j==mat->column){
    SaveM<<endl;
}

声明矩阵:

struct TMatrix {
double* *m;
    int line;
    int column;
};

j永远不会在您的内部循环中到达Mat->列。

我认为您可以使用类似的东西:

for (int i = 0; i < mat->line; i++){
    SaveM << "[";
    for (int j = 0; j < mat->column; j++){
        SaveM << mat->m[i][j]);
        if (j < sizeMatrix - 1){
            SaveM << ", ";
        }
    }
    SaveM << "]" << endl;
}