⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 seimicdatawrite.cpp

📁 写segy文件的小程序C语言
💻 CPP
字号:

#include "stdio.h"
#include "stdlib.h"
#include "iostream.h"
#include "math.h"

#define PI  3.1415926


void SeisWrite(float *pData,int length,int traces,FILE *fp)
{
   fseek(fp,3824,0);
   for(int i=0;i<traces;i++)
   {
	   fwrite(&pData[i*length],sizeof(float),length,fp);
	   fseek(fp,284,1);
   }
}

float DataComput(float x,float fai)
{
	return(sin(2*PI*x*100+fai));              //100--Frequency
}
void main()
{
   int i,j;  //interation variebles
   
   float temp[300*600];

   for(i=0;i<300;i++)
   {
	   for(j=0;j<600;j++)
	   {
		   temp[i*600+j]=5*DataComput(0.001*j,i*0.05);
	   }
   }

   FILE *fp1;

   if((fp1=fopen("c:\\tst.sgy","w+b"))==NULL)
   {
	   printf("Can't open the file\n");
	   exit(0);
   }
   
   unsigned short tt[3];
   tt[0]=300;
   tt[1]=600;
   tt[2]=1000;
   fseek(fp1,3216,0);
   fwrite(&tt[2],sizeof(unsigned short),1,fp1);
   fseek(fp1,3220,0);
   fwrite(&tt[1],sizeof(unsigned short),1,fp1);
   fseek(fp1,3260,0);
   fwrite(&tt[0],sizeof(unsigned short),1,fp1);

   SeisWrite(temp,600,300,fp1);

   fclose(fp1);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -