物探论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1957|回复: 0

野外地震数据编程读取的核心代码

[复制链接]
发表于 2014-2-17 17:50:30 | 显示全部楼层 |阅读模式
使用C++/MFC读取野外Segd地震数据,说白了就是找到数据位置,将32位IEEE格式浮点数以字符方式读取,进行高低位交换,然后以32位IBM格式浮点数输出……
  • void mySwap(BYTE A4[], BYTE B4[])
  • {//4字节高低交换
  •         A4[0] = B4[3]; A4[1] = B4[2];
  •         A4[2] = B4[1]; A4[3] = B4[0];
  • }
  • float ReadFlt(DWORD dwPos, BYTE B4[])
  • {//读4字节浮点数</P>
  •        //预先要定义好全局的CFile对象m_pFile
  •         m_pFile->Seek(dwPos, CFile::begin);
  •         m_pFile->Read(B4, 4);
  •         BYTE A4[4];
  •         mySwap(A4, B4);
  •         return *(float*)A4;
  • }
  • BYTE B4[4];
  • float fSeisData = ReadFlt(5972, B4);   //地震数据中第一道的第一个样点值就读入到fSeisdata变量中了


复制代码
来看一看效果吧,从Segd文件中读取了前10道数据,截取了前面的2000ms:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|物探论坛 ( 鄂ICP备12002012号 微信号:iwutan )

GMT+8, 2024-4-19 07:40 , Processed in 0.062347 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表