📄 parse.h
字号:
// Parse.h: interface for the CParse class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_PARSE_H__AE82CE5D_92E6_4918_A0E5_B00AE24B97CA__INCLUDED_)
#define AFX_PARSE_H__AE82CE5D_92E6_4918_A0E5_B00AE24B97CA__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <fstream>
using namespace std;
struct GPGGA
{
char time[12]; // 时间
char latitude[16]; // 纬度
char ns[2]; // N,S
char longitude[16]; // 经度
char ew[2]; // E,W
char state[2]; // GPS状态
char satellite[4]; // 卫星数量
char hdop[8]; // HDOP水平因子
char heighta[8]; // 海拔高度
char heightg[8]; // 地球椭球面对大地水准面高度
char difftime[8]; // 差分时间
char diffid[8]; // 差分ID
};
struct GPGSA
{
char mode[2]; // 模式
char type[2]; // 类型
char prn[4]; // 伪随即噪声码
char pdop[8];
char hdop[8];
char vdop[8];
};
struct GPGSV
{
char gsv[8]; // GSV语句总数
char index[4]; // 本语句编号
char count[4]; // 可见卫星数
char prn1[4]; //
char elev1[4]; // 仰角
char azim1[4]; // 方位角
char snr1[4]; // 信噪比
char prn2[4]; //
char elev2[4]; // 仰角
char azim2[4]; // 方位角
char snr2[4]; // 信噪比
char prn3[4]; //
char elev3[4]; // 仰角
char azim3[4]; // 方位角
char snr3[4]; // 信噪比
char prn4[4]; //
char elev4[4]; // 仰角
char azim4[4]; // 方位角
char snr4[4]; // 信噪比
};
struct GPRMC
{
char time[12]; // 时间
char state[2]; // 定位状态
char latitude[16]; // 纬度
char ns[2];
char longitude[16]; // 经度
char ew[2];
char speed[8]; // 地面速度
char crs[8]; // 地面航向
char date[12]; // 日期
char mag[8]; // 磁偏角
char dir[8]; // 磁偏角方向
char mode[2]; // 模式指示
};
struct GPVTG
{
char crsn[8]; // 地面航向(真北)
char crsm[8]; // 地面航向(磁北)
char kts[8]; // 地面速率(节)
char speed[8]; // 地面速率(千米时)
char mode[2]; // 模式指示
};
class CParse
{
public:
CParse();
virtual ~CParse();
int Open(const char *filename);
void Close();
bool Validate();
void Reset();
void Seek(int off, ios_base::seekdir way);
int NextGGA(char *buff, int len);
int NextLine(char *buff, int len);
int ParseGGA(const char *buff, GPGGA &gga);
int ParseGSA(const char *buff, GPGSA &gsa);
int ParseGSV(const char *buff, GPGSV &gsv);
int ParseRMC(const char *buff, GPRMC &rmc);
int ParseVTG(const char *buff, GPVTG &vtg);
protected:
void Split(const char *buff, ...);
ifstream m_stream;
};
#endif // !defined(AFX_PARSE_H__AE82CE5D_92E6_4918_A0E5_B00AE24B97CA__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -