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

📄 parse.h

📁 FDTD 可以用来创建mpeg
💻 H
字号:
/*	this functions parses the inputfile */char ReadData(char *Name){	FILE *File;	char token[100];	char err=0,c;	int ret,i;	char comp_s[5];	long h;		File=fopen(Name,"r");	if (File!=NULL)	{		while (fscanf(File,"%s ",&token)!=EOF)		{			Show[NumShow].movie=0;			if (strncmp(token,"//",2)==0)				do					ret=fscanf(File,"%c",&c);				while ((c!=10) && (ret!=EOF));			else			if (strcmp(token,"dx")==0)				if (fscanf(File,"%lf",&dx)!=1) err=1;				else;			else			if (strcmp(token,"dt")==0)				if (fscanf(File,"%lf",&dt)!=1) err=1;				else;			else			if (strcmp(token,"time")==0)				if (fscanf(File,"%lf",&tend)!=1) err=1;				else;			else			if (strcmp(token,"Nx")==0)				if (fscanf(File,"%d",&Nx)!=1) err=1;				else;			else			if (strcmp(token,"Ny")==0)				if (fscanf(File,"%d",&Ny)!=1) err=1;				else;			else			if (strcmp(token,"Nz")==0)				if (fscanf(File,"%d",&Nz)!=1) err=1;				else;			else			if (strcmp(token,"matlaboutput")==0) matlab=1;			else			if (strcmp(token,"box")==0)				if (fscanf(File,"%d %d %d %d %d %d %lf %lf",					& Box[NumBox].x1,& Box[NumBox].x2,					& Box[NumBox].y1,& Box[NumBox].y2,					& Box[NumBox].z1,& Box[NumBox].z2,					& Box[NumBox].sigma,& Box[NumBox].eps)!=8) err=1;				else NumBox++;			else			if (strcmp(token,"cone")==0)				if (fscanf(File,"%c %d %d %d %d %d %d %lf %lf",					& Cone[NumCone].direction,& Cone[NumCone].x1,& Cone[NumCone].x2,					& Cone[NumCone].r1,& Cone[NumCone].r2,					& Cone[NumCone].y,& Cone[NumCone].z,					& Cone[NumCone].sigma,& Cone[NumCone].eps)!=9) err=1;				else NumCone++;			else			if (strcmp(token,"voltage")==0)				if (fscanf(File,"%d %d %d %d %d %d %lf %c %lf %lf %lf",					& Volt.x1,& Volt.x2,					& Volt.y1,& Volt.y2,					& Volt.z1,& Volt.z2,					& Volt.voltage,& Volt.direction,& Volt.timeon,& Volt.time,& Volt.R)!=11) err=1;				else ;			else					if (strcmp(token,"R")==0)				if (fscanf(File,"%d %d %d %d %d %d %lf %c",					& R[NumR].x1,& R[NumR].x2,					& R[NumR].y1,& R[NumR].y2,					& R[NumR].z1,& R[NumR].z2,					& R[NumR].R,& R[NumR].direction)!=8) err=1;				else NumR++;			else					if (strcmp(token,"C")==0)				if (fscanf(File,"%d %d %d %d %d %d %lf %c",					& C[NumC].x1,& C[NumC].x2,					& C[NumC].y1,& C[NumC].y2,					& C[NumC].z1,& C[NumC].z2,					& C[NumC].C,& C[NumC].direction)!=8) err=1;				else NumC++;			else					if (strcmp(token,"show_J")==0)				if (fscanf(File,"%c %d %d",					& Show[NumShow].plane,					& Show[NumShow].value,& Show[NumShow].when)!=3) err=1;				else				{					Show[NumShow].type=1;					NumShow++;				}			else					if (strcmp(token,"show_D")==0)				if (fscanf(File,"%c %d %d",					& Show[NumShow].plane,					& Show[NumShow].value,& Show[NumShow].when)!=3) err=1;				else				{					Save_old=1;					Show[NumShow].type=2;					NumShow++;				}			else			if (strcmp(token,"show_Component")==0)				if (fscanf(File,"%s %c %d %d",					& comp_s,& Show[NumShow].plane,					& Show[NumShow].value,& Show[NumShow].when)!=4) err=1;				else				{					Show[NumShow].type=0;					Show[NumShow].comp=0;					if (strcmp(comp_s,"Hy")==0) Show[NumShow].comp=1;					if (strcmp(comp_s,"Hz")==0) Show[NumShow].comp=2;					if (strcmp(comp_s,"Ex")==0) Show[NumShow].comp=3;					if (strcmp(comp_s,"Ey")==0) Show[NumShow].comp=4;					if (strcmp(comp_s,"Ez")==0) Show[NumShow].comp=5;					NumShow++;				}			else					if (strcmp(token,"show_Emag")==0)				if (fscanf(File,"%c %d %d",					& Show[NumShow].plane,					& Show[NumShow].value,& Show[NumShow].when)!=3) err=1;				else				{					Show[NumShow].type=7;					NumShow++;				}			else					if (strcmp(token,"show_Hmag")==0)				if (fscanf(File,"%c %d %d",					& Show[NumShow].plane,					& Show[NumShow].value,& Show[NumShow].when)!=3) err=1;				else				{					Show[NumShow].type=8;					NumShow++;				}			else					if (strcmp(token,"show_Vplane")==0)				if (fscanf(File,"%c %d %s %d %d %d %d %d ",					& Show[NumShow].plane,& Show[NumShow].value,					& comp_s,& Show[NumShow].x1,					& Show[NumShow].x2,& Show[NumShow].y1,					& Show[NumShow].y2,& Show[NumShow].when)!=8) err=1;				else				{					Show[NumShow].type=3;					Show[NumShow].comp=3;					if (strcmp(comp_s,"y")==0) Show[NumShow].comp=4;					if (strcmp(comp_s,"z")==0) Show[NumShow].comp=5;					NumShow++;				}			else					if (strcmp(token,"show_V")==0)				if (fscanf(File,"%d %d %d %d %d %d %d",					& Show[NumShow].x1,& Show[NumShow].x2,					& Show[NumShow].y1,& Show[NumShow].y2,					& Show[NumShow].z1,& Show[NumShow].z2,					& Show[NumShow].when)!=7) err=1;				else				{					Show[NumShow].type=4;					NumShow++;				}			else					if (strcmp(token,"movie")==0)				if (fscanf(File,"%d ",& i)!=1) err=1;				else				if (fscanf(File,"%lf %lf %d %s %c",					& Show[i-1].c1,& Show[i-1].c2,					& Show[i-1].num_pic,& Show[i-1].Name,& Show[i-1].quality)!=5) err=1;				else				{					Show[i-1].movie=1;					if (i>NumShow) err=1;				}			else err=1;		}		fclose(File);	}	else err=1;	return err;}

⌨️ 快捷键说明

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