亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? seg2sgey.cpp

?? seg數(shù)據(jù)的各種轉(zhuǎn)換代碼
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):



//這個(gè)SEGY格式轉(zhuǎn)換程序不作字節(jié)交換并且不記錄輔助道。

// Cvtseg.cpp for gqz240

//#define INCL_DOS
//#define INCL_SUBchar 
//#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
#include "string.h"

#define MAXSAMP 16384  // max of 16k byte samples
#define MAXTRACES 16384   // SEG-2 limit
#define STRINGWIDTH 100   // allow up 100 char per keyword
#define MAXKEYWORDS 100  //
#define MAXPARMS 10  //   

//char *fpath = "E:\\yuncheng\\";  // add 2 lines by ytl
short NumAux = 0;

short outhead[120];  // output traceheader
long *outheadl;  // used when referncing outhead as a long array
float *outheadf;  // used when referncing outhead as a floating point array
char *outheadc;  // used when referncing outhead as a char array
//short i,j,k,kk,kk1,m,ssn,fstart,fend,count;
char string1[200];  
FILE *f1,*f2;
char temp;  //  
//
char prefix[STRINGWIDTH],start[10],end[10],exten[10],fname[STRINGWIDTH];
char outfile[STRINGWIDTH],answer[10];
long tracepointers[MAXTRACES];  //
unsigned long numsamples,datalength;
//
char segykeyword[MAXKEYWORDS][STRINGWIDTH];
char input[STRINGWIDTH],inputbuf[STRINGWIDTH];
short segyfunction[MAXKEYWORDS],segyheader[MAXKEYWORDS],totalkeys;
double segyparms[MAXKEYWORDS][MAXPARMS];
short segyreelheader[1800];//
short first = 1;
FILE *keyfile;
char *token;
short reverse = 0;  //
double dinbuf[MAXSAMP];
long *linbuf;
short *iinbuf;
float *finbuf;
unsigned char *cinbuf;
long outbuf[MAXSAMP];  //
//
short blockid,revnum,pointerbytecount,numtrace;
unsigned short blockleng;
char stringtermcount,stringterm1,stringterm2;
char linetermcount,lineterm1,lineterm2;
char reserved[19];
short stringlength;
unsigned char datatype;
short ftmp,fcomp;

void readsegykeys();
void keycheck();
void ieee2ibm(float *,short );

void main()
{
short i,j,k,kk,kk1,m,ssn,fstart,fend,count;

	iinbuf = (short *)&dinbuf[0];  // used for interger input (16 bit)
	finbuf = (float *)&dinbuf[0];  // used for float point (4 byte)
	linbuf = (long *)&dinbuf[0];  // used for long int (32 bit)
	cinbuf = (unsigned char *)&dinbuf[0];  //used for 20 bitpacked
	outheadl = (long *)&outhead[0]; 
	outheadf = (float *)&outhead[0];
	system ("cls");  // clear screen
	printf("        SEG2SEGY V1.1 - OS/2 - MSDOS\n\n");
	printf("	  地震數(shù)據(jù)轉(zhuǎn)換實(shí)用程序\n\n");
//	printf("      Seicmic Data Conversion Utility\n");
//	printf("    Copyright Kansas Geological Survey 1987-1990\n");
//	printf("  WELCOME OPRATPR TO THE SEG-2->SEG-Y PRE-PROCESSOR\n");
	printf("      歡迎您使用 SEG-2->SEG-Y 予處理程序\n");
	printf("\n\n這個(gè)SEGY格式轉(zhuǎn)換程序不作字節(jié)交換并且不記錄輔助道。");

	printf
	("\n\n This program converts the SEG-2 data files to SEG-Y file format\n");
	printf
	(" NOTE:SEG-Y file is in fixed 32 bit int & byte reversed for main-frames\n");
	printf("\n Program assumes there are 1 or more files to convert");
	printf("\n with similar names containing ASCENDING numbers,i.e");
	printf("\n SEG00001.DAT,SEG00002.DAT,... SEG00099.DAT ");
	printf("\n\n Press RETURN when ready to proceed,CTRL-C to abort");
	gets(answer);
	system("cls");
startovr:
	printf("\n\n Enter the PREFIX name of the files,(i.e SEG) -> ");
	gets(prefix);
badext:
	printf("\n Please enter the EXTENSION of the files if present.i.e .DAT ");
	printf("\n Iclude the (PERIOD) in name! -> ");
	gets(exten);
	if(4 < strlen(exten))
	{
		system("cls");
		printf("\nEXTENSION CAN'T BE MORE THAN 3 LETTERS");
		goto startovr;
	}
	if(strlen(exten) && exten[0] != '.')
	{
		printf("\nFirst character of an EXTENSION must be a period(.)\n");
			goto badext;
	}
tryagain:
	printf("\n Next enter the file numbers for the records to be");
	printf("\n changed. For instance if ther are to be 3 files");
	printf("\n converted named SEG00014,SEG00015,AND SEG00016,the first");
	printf("\n number you should enter is 000014,then when asked for ending");
	printf("\n enter 00016.\n REMEMBER TO ENTER LEADING 0's i.e.00014 not 14");
	printf("\n\n Please enter STARTING number ->");
	gets(start);
	printf("\n Please enter ENDING number ->");
	gets(end);
//	if(strlen(start) != strlen(end))
//	{
//		system("cls");
//		printf("\n\n   Invalid numbers try again\n");
//		goto tryagain;
//	} delete 6 lines by ytl 000720
	fstart = atoi(start);
	fend = atoi(end);
//	if(fstart > fend)
//	{
//		system("cls");
//		printf("\n\n  Only ABCENDING file numbers!\n");
//		goto tryagain;
//	}delete 6 lines by ytl 000720
	system("cls");
	printf("\n You have chosen files :\n\n");
	printf("%s%s%s",prefix,start,exten);
	printf(" through %s%s%s\n\n",prefix,end,exten);
	printf("Is this correct? (y/n) -> ");
	gets(answer);
	if(answer[0]=='n' || answer[0]=='N')
	{
		system("cls");
		goto startovr;
	}
	printf("\nPlease enter the name of the output file(i.e file name.extensoin). -> ");
	gets(outfile);
	f2 = fopen(outfile,"wb");  //
	if(f2 == NULL)
	{
		printf("**OUTPUT FILE OPEN FAILURE**\n**ABORTING**\n");
		exit(1);
	}
//	fclose(f2);  //////////////////////
	printf("\nPlease enter the STARTING Shot Sequence Number(SSN) ->");
	gets(answer);
	ssn = atoi(answer);
	system("cls");
	readsegykeys();  // read in segy key words and save them
	printf
		("\n\nDo you want the input files deleted as they are converted?([n]/y) -> ");
	answer[0] = '\0';
	gets(answer);
	fcomp = 0;	// add 11 lines by ytl 000720
	if(fstart > fend)
	{
		ftmp = fstart;
		fstart = fend;
		fend = ftmp;
		fcomp = 1;
		kk1 = fend;
	}
	else
		kk1 = fstart;

	for(kk=fstart; kk<=fend; kk++) // start a big loop!
	{
		fname[0] = '\0';
		strcat(fname,prefix);
		if(strlen(start))
			itoa(kk1,start,10);
//		count = strlen(end)-strlen(start);	
//
//		for(m=1; m<=count; m++)
//		{
//			strrev(start);
//			strcat(start,"0");
//			strrev(start);
//		} delete 8 lines by ytl 000720
//		strcat(fname,fpath);  // new add 1 lines by ytl 000623
		strcat(fname,start); //
		strcat(fname,exten);
		printf("\nWording on %s\n",fname);
		f1 = fopen(fname,"rb");
		if(f1 == NULL)
		{
			printf("\n***SYSTEM REPORTS ERROR OPENING FILE %s***",fname);
			printf("Skipping to next file number\n");
			if(fcomp)	// add 4 lines by ytl 000714
				kk1--;
			else
				kk1++;

			continue;
		}
		fread(&blockid,2,1,f1);
		//
		if(blockid == 0x553a)
		{
			reverse = 1;
			printf("Byte reverse data not allowed.\n");
			exit(1);
		}
		if(blockid != 0x3a55)
		{
			printf("Not SEG-2 data can not continue\n");
			exit(1);
		}
		fread(&revnum,2,1,f1);
		fread(&pointerbytecount,2,1,f1);
		fread(&numtrace,2,1,f1);

		printf("Data revision number = %d\n",revnum);
		printf("Nunber of trace = %d\n",numtrace);
		fread(&stringtermcount,1,1,f1);
		fread(&stringterm1,1,1,f1);
		fread(&stringterm2,1,1,f1);
		fread(&linetermcount,1,1,f1);
		fread(&lineterm1,1,1,f1);
		fread(&lineterm2,1,1,f1);
		//
		fread(&reserved,1,18,f1);
		//
		//
		//
		if(numtrace != (pointerbytecount/4))
		{
			printf("Number of trace and number of trace pointers do not match\n");
			printf("Number of pointers = %d\n",pointerbytecount/4);
			printf("Due to this inconsistency processing must stop\n");
			exit(1);
		}
		//  ok new read in the list
		fread(tracepointers,4,numtrace,f1);
/* The next block is the FILE DESCRIPTOR BLOCK.It is a set of strings, each terminaterd
	by the string _term_character(s).Each string is preceded by 1 WORD which is the byte  
	count for the string+termchar+2.(2 for the length of the word giving the count.) A
	value of 0 represents the end of the block.
*/
		fread(&stringlength,2,1,f1);
		while(0 != stringlength)
		{
			fread(string1,1,stringlength-2,f1);
			keycheck();
			fread(&stringlength,2,1,f1);
		}
		for(j=0; j<numtrace-2; j++)
		{
			printf("trace-%d- ",j+1);
			fseek(f1,tracepointers[j],SEEK_SET);  // SEEK_SET: go to beginning of data block
			fread(&blockid,2,1,f1);
			if(blockid == 0x2244)
			{
				reverse = 1;
				printf("Reversed data not allowed at this time\n");
				exit(1);
			}
			if(blockid != 0x4422)
			{
				printf("Not SEG-2 data can not process %x\n",blockid);
				exit(1);
			}
			fread(&blockleng,2,1,f1);
			fread(&datalength,4,1,f1);
			fread(&numsamples,4,1,f1);
/* 
	1 = 16 bit fixed. (INT)
	2 = 32 bit fixed. (LONG)
	3 = 20 bit packed floating.
	4 = 32 bit ieee floating point.(FLOAT)
	5 = 64 bit ieee floating point.(DOUBLE)
*/
			fread(&datatype,1,1,f1);
			if(datatype > 5 || datatype < 1)
			{
				printf("Data type %d not avilable/valid\n",(short)datatype);
				break;
			}
			outhead[57] = numsamples;
			fread(reserved,1,19,f1);
			fread(&stringlength,2,1,f1);
			while(0 != stringlength)
			{
				fread(string1,1,stringlength-2,f1);
				keycheck();
				fread(&stringlength,2,1,f1);
			}
			printf("\n");
			fseek(f1,blockleng+tracepointers[j],SEEK_SET);  // go to beginning of seicmic data
			switch(datatype)
			{
			case 1:
				{
					fread(iinbuf,2,(short)numsamples,f1);
					for(k=0; k<numsamples; k++)
						outbuf[k] = iinbuf[k];
					break;
				}
			case 2:
				{
					fread(linbuf,4,(short)numsamples,f1);
					for(k=0; k<numsamples; k++)
						outbuf[k] = linbuf[k];
					break;
				}
			case 3:
				{
					unsigned short totalbytes,subpointer;
					unsigned short expo;
					long longdat;
					totalbytes = (numsamples * 5)/2;
					fread(cinbuf,1,totalbytes,f1);
					for(k=0; k<(numsamples);  )
					{
						subpointer = (k / 4) * 5;
						expo = (unsigned short)iinbuf[subpointer++];
						for(i=0; i<4; i++)
						{
							if(0x8000 & iinbuf[subpointer])
								longdat = 0xffff8000;
							else
								longdat = 0;
							longdat = longdat | ((long)iinbuf[subpointer++] << (0x000f & expo));
							expo >>= 4;
							outbuf[k++] = longdat;
						}
					}
					break;
				}
			case 4:
				{
					fread(finbuf,4,(short)numsamples,f1);
					for(k=0; k<numsamples; k++)
						outbuf[k] = finbuf[k];
					break;
				}
			case 5:
				{
					fread(dinbuf,8,(short)numsamples,f1);
					for(k=0; k<numsamples; k++)
						outbuf[k] = dinbuf[k];
					break;
				}
			} // end switch
			//
			//
			//
			//
			//
//			if(outheadl[2] == 0)  // delete 1 line by ytl
				outheadl[2] = (long)kk1;
			//
			//
//			if(outhead[14] == 0) delete 1 line by ytl
				outhead[14] = (long)1; // seismic data.
			if(NumAux != 0 && j == numtrace-2)	// add 4 lines by ytl 000712		
				outhead[14] = (long)4;
			if(NumAux != 0 && j == numtrace-1)			
				outhead[14] = (long)5;

/*			if(j == numtrace-1 && outhead[87] == 0)
			{
				outhead[87] = 1;
				ssn = ssn + 1;
			}  	delte by ytl 000712	 */
			outheadl[9] = (long)(abs(outhead[93]-outhead[92]));
			outhead[85] = outhead[86] = (short)(1+labs((long)outhead[92] - outheadl[3]));
			if(first == 1)
			{
				first = 0;
				segyreelheader[1606] = numtrace-NumAux-2;  // was numtrace 
				segyreelheader[1607] =  NumAux;  // add 2 lines by ytl  000629
				segyreelheader[1627] = 1;  //  meters 
				segyreelheader[1608] = outhead[58];
				segyreelheader[1609] = outhead[58];
				segyreelheader[1610] = numsamples;
				segyreelheader[1611] = numsamples;
				segyreelheader[1612] = 2;
/*				for(k=1600; k<1606; k+=2)	// delete for yuncheng 062001
				{
					outheadc = (char*)&segyreelheader[k];
					temp = outheadc[3];
					outheadc[3] = outheadc[0];
					outheadc[0] = temp;
					temp = outheadc[2];
					outheadc[2] = outheadc[1];
					outheadc[1] = temp;
				}
				for(k=1606; k<1630; k++)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产视频一区不卡| 99国产精品久久久久久久久久| 欧美色综合久久| 亚洲精品videosex极品| 色狠狠综合天天综合综合| 亚洲免费色视频| 欧美日韩一级片在线观看| 蜜臀久久99精品久久久久宅男| 日韩亚洲欧美高清| 国产乱对白刺激视频不卡| 欧美国产一区二区在线观看| 99精品国产99久久久久久白柏| 亚洲制服丝袜一区| 日韩欧美一二区| 成人h版在线观看| 亚洲图片有声小说| 精品免费国产二区三区| 国产91精品精华液一区二区三区| 亚洲激情综合网| 日韩一卡二卡三卡四卡| 福利一区福利二区| 亚洲国产日韩a在线播放| 精品久久久久久久一区二区蜜臀| 成人国产精品免费观看视频| 五月天久久比比资源色| 亚洲三级在线观看| 日韩欧美亚洲另类制服综合在线| 成人禁用看黄a在线| 婷婷丁香激情综合| 国产肉丝袜一区二区| 欧亚洲嫩模精品一区三区| 激情久久久久久久久久久久久久久久| 一区在线观看免费| 日韩欧美久久一区| 在线国产电影不卡| 国产成人精品网址| 视频一区在线播放| 亚洲色图制服丝袜| 久久品道一品道久久精品| 日本高清不卡aⅴ免费网站| 国产在线观看免费一区| 亚洲第一福利一区| 国产精品三级久久久久三级| 日韩一区二区三区免费看| 91免费国产在线| 国产成人在线色| 青青草伊人久久| 亚洲一区国产视频| 国产精品国产三级国产aⅴ入口| 日韩免费电影网站| 欧美日韩黄色一区二区| 91色porny在线视频| 成人午夜免费视频| 久草中文综合在线| 日韩电影网1区2区| 亚洲一区二区三区在线看| 中文字幕在线不卡国产视频| 久久综合中文字幕| 日韩一级免费一区| 欧美日韩精品欧美日韩精品一 | 亚洲国产精品久久久男人的天堂| 久久久精品国产免大香伊| 欧美一区二区大片| 欧美日韩国产大片| 欧美日韩一区不卡| 欧美在线短视频| 日本乱人伦aⅴ精品| 91免费视频网址| 日韩亚洲欧美在线观看| 欧美久久一区二区| 欧美日韩久久一区| 欧美美女激情18p| 欧美群妇大交群中文字幕| 欧美色图一区二区三区| 欧美在线看片a免费观看| 色香蕉成人二区免费| 99亚偷拍自图区亚洲| www.亚洲色图.com| aaa欧美色吧激情视频| av高清久久久| 一本大道久久精品懂色aⅴ| 91老师国产黑色丝袜在线| 色香蕉成人二区免费| 欧美又粗又大又爽| 欧美裸体bbwbbwbbw| 欧美一区二区三区日韩| 欧美成人激情免费网| 久久一日本道色综合| 国产精品网站在线播放| 国产精品第四页| 亚洲激情男女视频| 首页综合国产亚洲丝袜| 日本亚洲一区二区| 精品一区二区三区的国产在线播放 | 这里只有精品99re| 日韩午夜在线观看视频| 精品成人一区二区| 国产精品国产三级国产普通话99| 夜夜嗨av一区二区三区网页 | 国产日产欧产精品推荐色| 欧美激情中文字幕| 一区二区在线观看视频在线观看| 亚洲成人午夜电影| 狠狠色丁香九九婷婷综合五月| 国产成人精品免费| 久久亚洲一区二区三区明星换脸| 久久久综合视频| 亚洲人一二三区| 日精品一区二区三区| 国产美女视频一区| 欧洲av一区二区嗯嗯嗯啊| 欧美一级久久久久久久大片| 国产精品萝li| 天使萌一区二区三区免费观看| 国产一区二区女| 欧洲一区在线观看| 国产无人区一区二区三区| 亚洲精品高清在线观看| 韩国精品主播一区二区在线观看 | 亚洲女与黑人做爰| 丝袜亚洲另类丝袜在线| 国产一区在线不卡| 欧美亚洲国产bt| 欧美国产禁国产网站cc| 亚洲一卡二卡三卡四卡| 国产麻豆精品theporn| 欧美色综合久久| 国产精品每日更新| 麻豆91在线看| 欧美色综合网站| 国产精品短视频| 国产在线精品一区二区三区不卡| 欧美中文字幕一区| 国产日韩精品视频一区| 日韩和欧美的一区| 日本精品视频一区二区| 欧美国产欧美综合| 久久精品国产亚洲aⅴ| 一本到三区不卡视频| 国产日韩欧美精品一区| 日本不卡一二三| 欧美性一级生活| 亚洲欧美日本在线| 岛国一区二区在线观看| 337p日本欧洲亚洲大胆色噜噜| 亚洲h在线观看| 色菇凉天天综合网| 亚洲欧洲在线观看av| 欧美日韩黄视频| 亚洲欧美日韩久久| av不卡一区二区三区| 国产精品卡一卡二| 丰满亚洲少妇av| 久久精品亚洲一区二区三区浴池| 秋霞影院一区二区| 欧美群妇大交群中文字幕| 亚洲狠狠爱一区二区三区| 91社区在线播放| 亚洲色图在线播放| 99精品久久99久久久久| 中文字幕一区二区三区精华液| 国产成人av电影在线| 国产欧美一区二区精品秋霞影院| 精品一区二区三区的国产在线播放| 88在线观看91蜜桃国自产| 天天色综合天天| 69久久夜色精品国产69蝌蚪网| 午夜精品福利一区二区蜜股av| 欧美亚洲高清一区| 视频一区二区不卡| 日韩小视频在线观看专区| 美腿丝袜在线亚洲一区| 欧美tk—视频vk| 国产又粗又猛又爽又黄91精品| 欧美精品一区二区久久久| 国产一区高清在线| 亚洲国产精品黑人久久久| www.日韩大片| 亚洲人成亚洲人成在线观看图片| 91视频免费看| 亚洲一区在线免费观看| 91麻豆精品国产综合久久久久久| 免费在线视频一区| 久久人人爽爽爽人久久久| 成人国产电影网| 亚洲福利国产精品| 日韩欧美一二三区| 丁香六月久久综合狠狠色| 亚洲免费看黄网站| 在线综合+亚洲+欧美中文字幕| 精品制服美女久久| 国产精品久久久久久一区二区三区 | 91精品国产美女浴室洗澡无遮挡| 蜜臀久久99精品久久久久宅男 | 中文一区二区完整视频在线观看| 成人高清视频在线| 亚洲1区2区3区4区| 精品少妇一区二区三区在线视频| 国产成人啪免费观看软件| 亚洲精品久久久蜜桃|