我正在编写一个C++程序来解决PDE并将解决方案保存在2D数组中.然后它会对此PDE的结果执行某些操作.然而,准确地解决PDE需要大量的计算.因此,解决部分只需要执行一次,但结果应该保存,以便我以后可以回复它们.
因此,我写了两个不同的代码:
求解pde并将结果保存在矩阵A中.矩阵A保存在二进制文件中.
读取二进制文件中的值并对结果进行计算.
但是,当我在第二个代码中读取二进制文件时,它只是一个空数组,并且不包含我在其他代码中保存的值.
如果我在代码1中读取它,它会按照需要运行.
我究竟做错了什么?甚至可以在其他应用程序中读取二进制文件的值吗?我应该完全解决这个问题吗?
如果我以某种方式链接它们,我将这两个代码保存在一个不同的项目中?或者两个代码是否应该在同一个项目中?
我花了几天时间在网上搜索解决方案,但我只能找到关于如何在同一代码中打开和保存二进制文件的问题和答案(例如这个和这个).这是否意味着我想要做的事情是不可能的,或者我找不到正确的来源?
我是C++的初学者,对任何帮助或方向都非常满意.
提前谢谢了!
这是代码1:
#include <iostream>
using namespace std;
#include <math.h>
#include <getopt.h>
#include <fstream>
#include <string>
// Returns a pointer-to-pointer to a newly created array
// of size [row : col].
double **Create2D(int row, int col)
{
double **p = new double* [row];
for (int j = 0; j < row; j ++)
p[j] = new double[col];
return p;
}
// Deletes an array pointed by 'p' …Run Code Online (Sandbox Code Playgroud)