heap corruption detected:after normol block (#154) at 0x00606F20
#include <iostream>
#include <fstream>
#include <stdio.h>
#define _CRT_SECURE_NO_WARNING
#pragma warning(disable:4996)
using namespace std;
int main() {
int timestep=1000;
int id=216;
//内层是粒子id,外层是timestep;
double **data3d = new double*[timestep];//最外层
for (int k = 0; k < timestep; k++)
{
data3d[k] = new double[id];
}//利用指针创建动态三维数组;
//读取txt数据
int n = 0;
int i = 0;
FILE * pFile;
pFile = fopen("E:\\data.txt","r");
int l = 1;
while(l==1)
{
fscanf(pFile, "%lf", &data3d[n][i]);
cout << data3d[n][i] << endl;
if (data3d[n][i] == 999.9)
{
l=0;
cout << n << endl;
cout << i << endl;
}
if (i<217)
{
i++;
}
else
{
n++;
i = 0;
}
};
for (int p = 0; p<timestep; p++)
{
delete [] data3d[p];
}
delete[] data3d;
system("pause");
return 0;
}
就是一个很简单的逐行读取数据的程序,为了简单起见手动在文件结尾添加了999.9用于结束读取,
TXT中的数据是类似于这样的
2.15464
0.154646
0.2456