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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? atc.c

?? 解吸SEED格式的源代碼
?? C
字號:
#include <stdio.h>#include <rdseed.h>/* -----------------------------------------------------------------------  * Routines to handle ATC related functionality * *//* ----------------------------------------------------------------------- * Defines */#define TRIM(s) {char *p; if ((p = strchr(s, ' ')) != NULL) *p = 0;}#define SUBSTR(str,xch,ch)      \        { char *c; \          while (c = strchr(str, xch)) \                *c = ch; \        }#define IS_BTW(a,y,z) \        ((timecmp(a, y) >= 0) && (timecmp(a, z) <= 0))#define append_linklist_element(new, head, tail) \    new->next = NULL; \    if (head != NULL) tail->next = new; \    else head = new; \    tail = new;/* ----------------------------------------------------------------------  * Variables */ struct atc_list {	char net[3];	char stn[6];	char loc[3];	char chn[4];	char start[23];	char end[23];	float start_offset;	float end_offset;	char flag;	char *comment;		struct atc_list *next;} *atc_listhead, *atc_listtail;static int atc_loaded = 0;/* --------------------------------------------------------------------- */int atc_add(char *atc_line){	struct atc_list *atc;	char **parts;	int i, n;	if (atc_line == (char *) NULL)		return;	if (strlen(atc_line) == 0)		return;	atc = (struct atc_list *)malloc(sizeof(struct atc_list));        if (atc == (struct atc_list *)NULL)        {                fprintf(stderr, "Error ! atc_add(): out of memory\n");                fprintf(stderr, "Unable to parse ATC data\n");		return 0;        }	n = split(atc_line, &parts, '|');	if (n < 8 || n > 10)	{		fprintf(stderr, "Error! atc_add(): Unable to parse ATC file\n");		fprintf(stderr, "atc file line = %s\n", atc_line);		fprintf(stderr, "stopped parsing field # %d\n", n);		return 0;	}		TRIM(parts[0]);	TRIM(parts[1]);	TRIM(parts[2]);	TRIM(parts[3]);	TRIM(parts[4]);	TRIM(parts[5]);	TRIM(parts[6]);	TRIM(parts[7]);	memset(atc, 0, sizeof(struct atc_list));	for (i = 0; i < n; i++)		switch (i) 		{			case 0: 				strncpy(atc->net, parts[0], sizeof(atc->net));				break;				case 1:				strncpy(atc->stn, parts[1], sizeof(atc->stn));				break;			case 2:				strncpy(atc->loc, parts[2], sizeof(atc->loc));				break;			case 3:				strncpy(atc->chn, parts[3], sizeof(atc->chn));				break;			case 4:					strncpy(atc->start, parts[4], sizeof(atc->start));				break;			case 5:					strncpy(atc->end, parts[5], sizeof(atc->end));				break;			case 6:				atc->start_offset = atof(parts[6]);				break;			case 7:				atc->end_offset = atof(parts[7]);				break;						case 8:				atc->flag = *parts[8];				break;			case 9:				atc->comment = (char *)malloc(strlen(parts[9]) + 1);				if (atc->comment == (char *)NULL)				{					fprintf(stderr, "Warning! atc_add(): out of memory\n");                 			fprintf(stderr, "Unable to parse comment from ATC data\n");				}				else					strcpy(atc->comment, parts[9]);								break;		}	append_linklist_element(atc, atc_listhead, atc_listtail);	fuse(&parts, n);		atc_loaded = 1;	return 1;}/* ----------------------------------------------------------------------- */void atc_dump(){	struct atc_list *atc = atc_listhead;	while (atc)	{		printf("%s,%s,%s,%s,%s,%s,%6.2f,%6.2f,%c,%s\n",				atc->net, atc->stn, 				atc->loc, atc->chn,				atc->start, atc->end,				atc->start_offset,				atc->end_offset,				atc->flag, 				atc->comment?atc->comment:"");		atc = atc->next;	}}/* ----------------------------------------------------------------------- */void atc_clear(){	struct atc_list *atc;	for(atc = atc_listhead; 		atc != (struct atc_list *)NULL; 				atc = atc->next)	{		if (atc->comment != (char *)NULL)			free(atc->comment);		free(atc);	}			}/* ----------------------------------------------------------------------- */struct atc_list *fetch(char *s, char *c, char *l, char *n, struct time *t){	struct atc_list *atc;   	struct time atc_start;	struct time atc_end;	atc = atc_listhead;	TRIM(s);	TRIM(c);	TRIM(l);	TRIM(n);	while (atc != (struct atc_list *) NULL)	{		if (wstrcmp(s, atc->stn, strlen(s)) != 0)		{			atc = atc->next;			continue;		}		if (wstrcmp(c, atc->chn, strlen(c)) != 0)		{			atc = atc->next;			continue;		}		if (wstrcmp(n, atc->net, strlen(n)) != 0)		{			atc = atc->next;			continue;		}		if (strcmp(l, "") != 0)		if (wstrcmp(l, atc->loc, strlen(l)) != 0)		{			atc = atc->next;			continue;		}			timecvt(&atc_start, atc->start);		timecvt(&atc_end, atc->end);		if (IS_BTW(*t, atc_start, atc_end))			return atc;		atc = atc->next;	}		return (struct atc_list *) NULL;}	/* fetch *//* ----------------------------------------------------------------------- */void atc_correct(struct time *t, char *s, char *c, 				char *n, char *l, float sample_rate){	struct time t1;	struct time t2;	double diff;	double m;	struct atc_list *atc;	atc = fetch(s, c, l, n, t);	if (atc == NULL)		return;	timecvt(&t1, atc->start);	timecvt(&t2, atc->end);		diff = timedif(t1, t2);	/* diff is in 10000th sec, end/start offsets are in seconds.	 * convert to secs to 10000	 */	m = ((atc->end_offset - atc->start_offset) * 10000)/diff;	/* m is the correction/fracsec */		/* compute the number of fracsecs btw our time 	 * and the start of correction 	 */	diff = timedif(t1, *t);	*t = timeadd_double(*t, m * diff);	return;	}/* ----------------------------------------------------------------------- */void atc_load(FILE *f){	char buffer[8192];	struct input_data_hdr *fsdh;	struct time s_time, e_time;	struct type74 *t74 = type74_head;	int i, j, now_where, num_items, default_Lrecl;        default_Lrecl = LRECL;        while (t74 != NULL)        {			if (strcmp(t74->channel, "ATC") != 0)		{			t74 = t74->next;			continue;		}		if (!chk_station(t74->station))		{			t74 = t74->next;			continue;		}		if (!chk_network(t74->network_code))		{			t74 = t74->next;			continue;		}		if (!chk_location(t74->location))		{			t74 = t74->next;			continue;		}	        	timecvt(&s_time, t74->starttime);        	timecvt(&e_time, t74->endtime);		if (!chk_time(s_time, e_time))		{			t74 = t74->next;			continue;		}		now_where = ftell(f);        	fseek(f, ((t74->start_index-1)*LRECL) - now_where, 1);        	/* we are assuming that the data record size will not         	 * change for a timespan         	 */        	LRECL = get_blk_1000_Lrecl(f);		for (j = 0; j < (t74->end_index-t74->start_index) + 1; j++)        	{                	for (i = 0; i < default_Lrecl/LRECL; i++)                	{				if ((j == (t74->end_index-t74->start_index)) && (LRECL < default_Lrecl))                                	if (i >= t74->end_subindex)                                        	break;				memset(buffer, 0, sizeof(buffer));                        	num_items = fread(buffer, LRECL, 1, f);                        	if (num_items != 1)                        	{                                	fprintf(stderr, "atc_load(): Unable to read the atc data\n");                                	if (num_items < 0)                                        	perror("rdseed");                                	LRECL = default_Lrecl;					return;                         	}				/* extract the \n terminated strings */				/* cut to the chase */				fsdh = (struct input_data_hdr *) &buffer[8];				extract_atc_lines(&buffer[fsdh->bod]);			}		}	                t74 = t74->next;		LRECL = default_Lrecl;         }	 LRECL = default_Lrecl;}/* ----------------------------------------------------------------------- */int extract_atc_lines(char *ptr){	char **parts;	int i, n;	n = split(ptr, &parts, '\n');	/* skip the first 5 lines */	for (i = 5; i < n; i++)		atc_add(parts[i]);	fuse(&parts, n);	return;	}/* ----------------------------------------------------------------------- */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97久久超碰国产精品| 国产精品视频九色porn| 亚瑟在线精品视频| 亚洲女同一区二区| 日本强好片久久久久久aaa| 成人国产精品免费观看动漫 | 欧美一区二区精品久久911| 91传媒视频在线播放| 日韩欧美一级二级| 亚洲bt欧美bt精品| 色先锋资源久久综合| 国产欧美精品一区二区色综合朱莉| 亚洲成人动漫一区| 色婷婷精品大在线视频| 中文字幕欧美日韩一区| 久久激情五月婷婷| 91精品久久久久久久久99蜜臂| √…a在线天堂一区| 成人蜜臀av电影| 日韩欧美一级二级| 日韩高清一区在线| 91精品国产色综合久久不卡蜜臀| 亚洲一区二区三区在线看| 色婷婷精品久久二区二区蜜臀av | 人人精品人人爱| 欧美日韩一区二区在线观看视频| 日韩理论电影院| 成人动漫一区二区三区| 中文字幕中文在线不卡住| 成人做爰69片免费看网站| 欧美国产1区2区| 成人av片在线观看| 国产精品第一页第二页第三页| 成人一区在线观看| 亚洲色图19p| 91国在线观看| 日韩国产在线观看| 日韩欧美国产一区二区三区| 另类综合日韩欧美亚洲| 久久蜜臀中文字幕| 不卡的av电影在线观看| 亚洲人被黑人高潮完整版| 色综合久久九月婷婷色综合| 亚洲最色的网站| 91麻豆精品久久久久蜜臀| 麻豆成人91精品二区三区| 久久综合九色欧美综合狠狠 | 精品无人码麻豆乱码1区2区 | 成人国产亚洲欧美成人综合网| 中文字幕免费观看一区| 91免费国产在线观看| 一个色综合网站| 日韩欧美成人午夜| 成人精品高清在线| 亚洲影院在线观看| 欧美成人官网二区| av电影天堂一区二区在线| 亚洲国产欧美另类丝袜| 欧美一区二区三区视频在线 | 欧美三级电影一区| 久久精品国产久精国产爱| 欧美国产成人精品| 在线成人免费视频| 激情综合色综合久久| 亚洲视频一二三区| 日韩美女天天操| 日本韩国欧美在线| 色乱码一区二区三区88| 视频在线观看91| 中文字幕乱码日本亚洲一区二区 | 亚洲欧美一区二区三区孕妇| 欧美日韩一区三区| 麻豆精品一区二区三区| 国产精品女上位| 欧美一二三区精品| 波多野结衣中文字幕一区二区三区 | 国产精品午夜春色av| 欧美视频自拍偷拍| 国产精品一区二区在线观看不卡| 亚洲欧美日韩国产中文在线| 欧美一三区三区四区免费在线看 | 91精品国产入口| 成人免费看视频| 久久精品理论片| 亚洲国产日韩在线一区模特| 久久久久久久久久久久久久久99| 在线一区二区视频| 成人激情电影免费在线观看| 免费在线看一区| 一区二区三区在线观看动漫| 久久久久99精品一区| 欧美美女一区二区| 99久久久久久99| 国产99久久精品| 精品一区二区三区视频在线观看 | 一区二区欧美在线观看| 久久久久久久久一| 欧美日韩国产综合视频在线观看| 成人少妇影院yyyy| 国产精品一区二区不卡| 日韩—二三区免费观看av| 亚洲精品中文在线影院| 欧美国产日韩在线观看| 精品国产3级a| 欧美一卡二卡三卡| 欧美精品1区2区| 欧美亚洲综合色| av高清不卡在线| 99在线视频精品| 99综合电影在线视频| 成人久久视频在线观看| 国产精品一二一区| 韩国三级电影一区二区| 美女任你摸久久| 另类欧美日韩国产在线| 久久99精品国产.久久久久| 蜜桃av噜噜一区| 麻豆91在线播放免费| 久久精品国产一区二区| 激情国产一区二区| 久久不见久久见免费视频7 | 日韩一区二区免费视频| 日韩一本二本av| 欧美成人国产一区二区| 久久亚洲综合色| 中文字幕第一页久久| 国产精品国产三级国产普通话三级 | 国产综合色视频| 国产成人av自拍| 成人免费不卡视频| 一本高清dvd不卡在线观看| 色噜噜久久综合| 亚洲少妇屁股交4| 亚洲国产综合视频在线观看| 五月天激情综合网| 久久精品国产免费| 国产成人av一区二区| 一区二区三区在线播放| 国产精品日韩精品欧美在线| 欧美成人a视频| 日本一区二区视频在线观看| 亚洲欧美激情视频在线观看一区二区三区 | 国产曰批免费观看久久久| 丁香亚洲综合激情啪啪综合| 一区二区三区日韩| 美腿丝袜亚洲色图| 国产成人av自拍| 欧美日韩精品一区二区三区| 日韩精品中文字幕在线一区| 欧美韩国日本不卡| 亚洲一区二区在线免费观看视频| 日本麻豆一区二区三区视频| 日韩福利电影在线| 国产麻豆精品theporn| 色哟哟国产精品| 日韩三级视频在线观看| 中文字幕中文字幕在线一区 | 在线中文字幕不卡| 欧美日韩一级大片网址| 在线电影院国产精品| 欧美电视剧免费全集观看| 91热门视频在线观看| 国产精品91一区二区| 国产精品一区二区在线播放| 精品一区二区日韩| 色天天综合色天天久久| 欧美在线观看一区| 久久久久99精品国产片| 日韩美女精品在线| 国产麻豆精品95视频| 欧美日韩精品欧美日韩精品| 国产欧美一区二区精品久导航 | 日韩无一区二区| 亚洲人妖av一区二区| 久久99精品久久久久久动态图| 色综合久久久久网| 中文字幕高清不卡| 国产一区二区三区综合| 欧美猛男超大videosgay| 亚洲视频在线一区| 国产99一区视频免费| 日韩精品中文字幕一区 | 一区二区三区免费| 成人a级免费电影| 久久精品一区二区三区不卡| 日韩激情视频在线观看| 在线观看视频一区二区| 国产精品护士白丝一区av| 国产91精品久久久久久久网曝门| 欧美肥妇bbw| 亚洲18女电影在线观看| 欧美怡红院视频| 一个色妞综合视频在线观看| 91视频一区二区三区| 中文字幕在线观看不卡| 国产成人综合视频| 日本一区二区三区在线观看| 国产不卡在线播放| 欧美高清在线精品一区| 粉嫩av一区二区三区|