爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4620|回复: 0

C语言站点数据转换为Grads数据格式代码

[复制链接]

新浪微博达人勋

发表于 2018-3-28 18:05:48 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
int i;
int j;
int ci;
float cf;
char stcode[8];
char endstn[8];
FILE *infile;
if( BuildValue==0 )
{
  if( ( infile=fopen(filename,"wb") )==NULL )
  {
   printf("the %s file don't be build.\n",filename);
   return -1;
  }
}
else
{
  if( ( infile=fopen(filename,"ab") )==NULL )
  {
   printf("the %s file don't be opened.\n",filename);
   return -11;
  }
}

//for(i=0;i<hn;i++)
for(i=0;i<HstNum;i++)
{
  j=i;//stinf.No;
  //****************每站一头*********************
  sprintf(stcode,"%d",st[j].stcode);
  fwrite(stcode,sizeof(char)*8,1,infile);  
  fwrite(&st[j].lat,sizeof(float),1,infile);
  fwrite(&st[j].lon,sizeof(float),1,infile);
  cf=0.0;
  fwrite(&cf,sizeof(float),1,infile);//时间偏差
  ci=1;
  fwrite(&ci,sizeof(int),1,infile);//总层数
  ci=1;
  fwrite(&ci,sizeof(int),1,infile);//是否有地面报
  //************地面报**************************
  fwrite(&st[j].height,sizeof(float),1,infile);
  fwrite(&st[j].wv,sizeof(float),1,infile);
  fwrite(&st[j].wd,sizeof(float),1,infile);
  fwrite(&st[j].temp,sizeof(float),1,infile);
  fwrite(&st[j].td,sizeof(float),1,infile);
  fwrite(&st[j].SeaPressue,sizeof(float),1,infile);
  //************end 地面报**************************
}
///*************每一时的结尾*********************
sprintf(endstn,"end_time");
fwrite(endstn,sizeof(char)*8,1,infile);
cf=0.0;
fwrite(&cf,sizeof(float),1,infile);
fwrite(&cf,sizeof(float),1,infile);
fwrite(&cf,sizeof(float),1,infile);
ci=0;
fwrite(&ci,sizeof(int),1,infile);
fwrite(&ci,sizeof(int),1,infile);
///*************end  每一时的结尾*********************
fclose(infile);
return 0;
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

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