设置一个保存序号、坐标、时间、速度、高度的TRK文件
时间: 2023-07-10 20:35:21 浏览: 43
以下代码可以设置一个保存序号、坐标、时间、速度、高度的TRK文件:
```c++
#include <fstream>
#include <iostream>
#include <ctime>
using namespace std;
#pragma pack(1)
typedef struct {
unsigned char index[4];
float latitude;
float longitude;
unsigned char date[3];
unsigned char time[3];
float speed;
float altitude;
} TRK_POINT;
#pragma pack()
int main()
{
// 假设有10个点
const int POINT_COUNT = 10;
TRK_POINT point;
point.index[0] = point.index[1] = point.index[2] = point.index[3] = 0;
point.latitude = 39.9087;
point.longitude = 116.3975;
point.date[0] = 121;
point.date[1] = 7;
point.date[2] = 1;
point.time[0] = 12;
point.time[1] = 30;
point.time[2] = 0;
point.speed = 10.0;
point.altitude = 100.0;
// 写入磁盘文件
ofstream file("track.trk", ios::binary | ios::app);
for (int i = 0; i < POINT_COUNT; i++) {
// 设置序号
point.index[3] = i;
// 设置坐标
point.latitude += 0.1;
point.longitude += 0.1;
// 设置时间
time_t now = time(0);
tm* ltm = localtime(&now);
point.date[0] = (ltm->tm_year + 1900) % 100;
point.date[1] = ltm->tm_mon + 1;
point.date[2] = ltm->tm_mday;
point.time[0] = ltm->tm_hour;
point.time[1] = ltm->tm_min;
point.time[2] = ltm->tm_sec;
// 设置速度和高度
point.speed += 1.0;
point.altitude += 10.0;
// 写入文件
file.write((char*)&point, sizeof(point));
}
file.close();
return 0;
}
```
这段代码会生成一个名为“track.trk”的TRK文件,其中包含了10个点的信息,包括序号、坐标、时间、速度、高度。你可以根据自己的需要修改这些数据。