语言读取文件到内存 描述的不清楚的话 有意的朋友请和我联系lfylms@163.com 不胜感激!
2008-10-9 22:33
提问者:ldecit |悬赏分:100|浏览次数:1174次
文件描述:
sgy格式:假设*为数据 数据存储为下面的格式
********(左边为3600字节道头,不用读取)****(240字节说明)******(float数据)****(240字节说明)******(float数据)****>>重复
要求将其中的float数据读到二维数组中,一段数据的个数作列,总的段数作行。
跳过3600字节的道头不管,跳过240字节数据说明,读取N个float型的数据,再跳过240字节数据说明,再读取N个数据。这里的“240字节数据说明”的个数和“N个float型的数据”的个数是一样的 他们是交替出现的。N为已知,共有M个数据说明(因此也是M个float数据段(每段N个数)) 读入到二维数组data[M][N]中
可以发邮件给我获取数据,如果能直接写代码也好
附c++的读取代码:
#include
#include
using namespace std;
int main()
{
int i,j,ns,ntr;
float data;
ifstream infile;
infile.open("test.sgy",ios::binary);
ntr = 32; //float数据的段数
ns = 64; //每段float数据的个数
infile.seekg(3600,ios::beg); //跳过3600字节的卷头
for(i=0;i
int main()
{
int i,j,ns,ntr;
float data;
FILE *infile;
infile = fopen("test.sgy", "rb");
ntr = 32; //float数据的段数
ns = 64; //每段float数据的个数
fseek(infile, 3600, SEEK_SET); //跳过3600字节的卷头
for(i=0;i