为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

seg数据读取

2011-12-07 3页 doc 30KB 51阅读

用户头像

is_914613

暂无简介

举报
seg数据读取语言读取文件到内存 描述的不清楚的话 有意的朋友请和我联系lfylms@163.com 不胜感激! 2008-10-9 22:33 提问者:ldecit |悬赏分:100|浏览次数:1174次 文件描述: sgy格式:假设*为数据 数据存储为下面的格式 ********(左边为3600字节道头,不用读取)****(240字节说明)******(float数据)****(240字节说明)******(float数据)****>>重复 要求将其中的float数据读到二维数组中,一段数据的个数作列,总的段数作行。 ...
seg数据读取
语言读取文件到内存 描述的不清楚的话 有意的朋友请和我联系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方法
,该指针如何递加 3:不考虑文件格式问题,从一般的二进制文件中读取数据到内存如何实现,要求能移动指针实现定位读,而不是整个儿读入。二进制数据存储方式为已知。 由于sgy数据中前3600字节中数据格式有多种 后面的240道说明也包含好几种格式 所以估计将文件全部读入到数组a中 然后再用指针从a中选取需要读出来的float数据部分读入到b 这种方式可能不能实现。 问题补充: 问题1中是“能否定位到3896”不是3606 2008-10-9 23:21 最佳答案 1. 首先fopen时mode参数用"rb"进行二进制打开, fseek才能有效起作用。其次,fseek移动是以字节为单位的,而不是以数为单位的,要把数据大小计算入其中。最的fread这句是对的,无所谓指针类型,你只是读几个字节而已。 2. 二维数组初始化方法,以float类型为例: 静态:float arr2d[M][N] = { 0 }; 动态:float **arr2d; arr2d = (float **)malloc(M * sizeof(float *)); for (int i = 0; i < M; i++) { arr2d[i] = (float *)malloc(N * sizeof(float)); memset(arr2d[i], 0, N * sizeof(float); } 访问某个成员方法两者相同:arr2d[x][y],如果想得到某个成员的指针,可以用&arr2d[x][y]。 3.fseek可以很好的实现定位,fread读取数据之后,文件指针为自动移动,不需要手动定位。 我帮你在源程序上逐句改了,你看一下: #include 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
/
本文档为【seg数据读取】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索