📄 readzz.cpp
字号:
#include <stdio.h>
#include "string.h"
//输出的原始编码结构
typedef struct {
char s1[5]; //北京时间,如0800
char s2[5]; //2分钟风向
char s3[5]; //2分钟平均风速
char s4[5]; //10分钟平均风向
char s5[5]; //10分钟平均风速
char s6[5]; //最大风速时风向
char s7[5]; //最大风速
char s8[5]; //最大风速时间
char s9[5]; //阵风风向
char s10[5]; //阵风风速
char s11[5]; //阵风最大时风向
char s12[5]; //阵风最大时风速
char s13[5]; //阵风最大时时间
char s14[61];//雨量(现缺),253微量,254没有观测,255缺测
char s15[5]; //干球温度
char s16[5]; //最高气温
char s17[5]; //最高气温出现时间
char s18[5]; //最低气温
char s19[5]; //最低气温出现时间
char s20[5]; //湿球温度****为冬季湿球停用
char s21[5]; //湿敏电容
char s22[5]; //相对湿度
char s23[5]; //最小相对湿度
char s24[5]; //最小相对湿度出现时间
char s25[5]; //水汽压
char s26[5]; //露点温度
char s27[5]; //本站气压,如 0235,
char s28[5]; //最高本站气压
char s29[5]; //最高本站气压出现时间
char s30[5]; //最低本站气压
char s31[5]; //最低本站气压出现时间
char s32[5]; //地面温度
char s33[5]; //地面最高温度
char s34[5]; //地面最高出现时间
char s35[5]; //地面最低温度
char s36[5]; //地面最低出现时间
char s37[5]; //5厘米地温
char s38[5]; //10厘米地温
char s39[5]; //15厘米地温
char s40[5]; //20厘米地温
char s41[5]; //40厘米地温
char s42[5]; //80厘米地温
char s43[5]; //160厘米地温
char s44[5]; //320厘米地温
char s45[5]; //保留----
char s46[5]; //保留----
}OutInfo;
//读取到的原始编码结构
typedef struct {
char s1[4];
char s2[4];
char s3[4];
char s4[4];
char s5[4];
char s6[4];
char s7[4];
char s8[4];
char s9[4];
char s10[4];
char s11[4];
char s12[4];
char s13[4];
char s14[60];
char s15[4];
char s16[4];
char s17[4];
char s18[4];
char s19[4];
char s20[4];
char s21[4];
char s22[4];
char s23[4];
char s24[4];
char s25[4];
char s26[4];
char s27[4];
char s28[4];
char s29[4];
char s30[4];
char s31[4];
char s32[4];
char s33[4];
char s34[4];
char s35[4];
char s36[4];
char s37[4];
char s38[4];
char s39[4];
char s40[4];
char s41[4];
char s42[4];
char s43[4];
char s44[4];
char s45[4];
char s46[4];
}UserInfo;
//转化数据结构
void ChangeStruct(UserInfo * userInfo/*原始结构*/,OutInfo * outInfo/*采样后的结构*/)
{
//转化结构,根据ZZ文件的定义,分割出原始编码文件
memcpy(outInfo->s1, userInfo->s1, sizeof(userInfo->s1));
memcpy(outInfo->s2, userInfo->s2, sizeof(userInfo->s2));
memcpy(outInfo->s3, userInfo->s3, sizeof(userInfo->s3));
memcpy(outInfo->s4, userInfo->s4, sizeof(userInfo->s4));
memcpy(outInfo->s5, userInfo->s5, sizeof(userInfo->s5));
memcpy(outInfo->s6, userInfo->s6, sizeof(userInfo->s6));
memcpy(outInfo->s7, userInfo->s7, sizeof(userInfo->s7));
memcpy(outInfo->s8, userInfo->s8, sizeof(userInfo->s8));
memcpy(outInfo->s9, userInfo->s9, sizeof(userInfo->s9));
memcpy(outInfo->s10, userInfo->s10, sizeof(userInfo->s10));
memcpy(outInfo->s11, userInfo->s11, sizeof(userInfo->s11));
memcpy(outInfo->s12, userInfo->s12, sizeof(userInfo->s12));
memcpy(outInfo->s13, userInfo->s13, sizeof(userInfo->s13));
memcpy(outInfo->s14, userInfo->s14, sizeof(userInfo->s14));
memcpy(outInfo->s15, userInfo->s15, sizeof(userInfo->s15));
memcpy(outInfo->s16, userInfo->s16, sizeof(userInfo->s16));
memcpy(outInfo->s17, userInfo->s17, sizeof(userInfo->s17));
memcpy(outInfo->s18, userInfo->s18, sizeof(userInfo->s18));
memcpy(outInfo->s19, userInfo->s19, sizeof(userInfo->s19));
memcpy(outInfo->s20, userInfo->s20, sizeof(userInfo->s20));
memcpy(outInfo->s21, userInfo->s21, sizeof(userInfo->s21));
memcpy(outInfo->s22, userInfo->s22, sizeof(userInfo->s22));
memcpy(outInfo->s23, userInfo->s23, sizeof(userInfo->s23));
memcpy(outInfo->s24, userInfo->s24, sizeof(userInfo->s24));
memcpy(outInfo->s25, userInfo->s25, sizeof(userInfo->s25));
memcpy(outInfo->s26, userInfo->s26, sizeof(userInfo->s26));
memcpy(outInfo->s27, userInfo->s27, sizeof(userInfo->s27));
memcpy(outInfo->s28, userInfo->s28, sizeof(userInfo->s28));
memcpy(outInfo->s29, userInfo->s29, sizeof(userInfo->s29));
memcpy(outInfo->s30, userInfo->s30, sizeof(userInfo->s30));
memcpy(outInfo->s31, userInfo->s31, sizeof(userInfo->s31));
memcpy(outInfo->s32, userInfo->s32, sizeof(userInfo->s32));
memcpy(outInfo->s33, userInfo->s33, sizeof(userInfo->s33));
memcpy(outInfo->s34, userInfo->s34, sizeof(userInfo->s34));
memcpy(outInfo->s35, userInfo->s35, sizeof(userInfo->s35));
memcpy(outInfo->s36, userInfo->s36, sizeof(userInfo->s1));
memcpy(outInfo->s37, userInfo->s37, sizeof(userInfo->s37));
memcpy(outInfo->s38, userInfo->s38, sizeof(userInfo->s38));
memcpy(outInfo->s39, userInfo->s39, sizeof(userInfo->s39));
memcpy(outInfo->s40, userInfo->s40, sizeof(userInfo->s40));
memcpy(outInfo->s41, userInfo->s41, sizeof(userInfo->s41));
memcpy(outInfo->s42, userInfo->s42, sizeof(userInfo->s42));
memcpy(outInfo->s43, userInfo->s43, sizeof(userInfo->s43));
memcpy(outInfo->s44, userInfo->s44, sizeof(userInfo->s44));
memcpy(outInfo->s45, userInfo->s45, sizeof(userInfo->s45));
memcpy(outInfo->s46, userInfo->s46, sizeof(userInfo->s46));
}
//把ZZ文件的原始编码信息读出
UserInfo * StartRead(char * filename)
{
UserInfo * userInfo=new UserInfo;
FILE * ptr;
ptr = fopen (filename, "rb");
if (ptr!= NULL)
{
fseek (ptr, 0L, SEEK_SET ); //定位到文件头
fread (userInfo, sizeof(UserInfo), 1, ptr );//读取内容到 Struct
fclose (ptr);
}
return userInfo;
}
void main()
{
OutInfo * outInfo = new OutInfo;
memset(outInfo,0,sizeof(OutInfo));
UserInfo * userInfo=StartRead("zz.txt");
if (userInfo) //转化为可以输出的格式
ChangeStruct(userInfo,outInfo);
printf("时间:%s\n",outInfo->s1);
printf("最高气温:%s\n",outInfo->s16);
printf("相对湿度:%s\n",outInfo->s22);
printf("本站气压:%s\n",outInfo->s27);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -