C++简单读写GPS信号
发布时间
阅读量:
阅读量
文章目录
-
前言
-
一、原始数据
-
二、代码分析
-
- 1.读写数据
- 2.split函数
-
总结
前言
利用C++完成简单的txt读写
一、原始数据
以读取GPS信号为例
txt的数据格式之一如下图所示

二、代码分析
1.读写数据
关键代码如下:
#include <iostream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;
int main()
{
ifstream readFile("");//读取txt的路径
ofstream outFile("");//输出txt的路径
if (!readFile.is_open()) {
cout << "can not open this file" << endl;
return 0;
}
string str = "";
while (getline(readFile, str)) {//进行一行行读取
vector<string> result = split(str);
if (result[0] == "$GPRMC") { //GPRMC
//进行解析操作
}
outFile<<""<<endl;//写入新的txt中
}
readFile.close();
outFile.close();
system("PAUSE");
return 0;
}
2.split函数
代码如下:
vector<string> split(string& str) { //定义分隔函数,以逗号为分隔符
vector<string> result;
int pos = 0;//下标
string douhao = ",";
for (int i = 0; i < str.size(); i++) { //进行遍历存放
pos = str.find(douhao, i);
if (pos < str.size()) {
string s = str.substr(i,pos-i);
result.push_back(s);
i = pos + douhao.size() - 1;
}
}
//由于上述操作做完还没有把最后一个逗号后面的字符串存进去
//所以选择性存最后一个字符串的某部分
int a = str.rfind(douhao); //从后面找第一个逗号,返回它的下标
int b = str.rfind("*");
string last = str.substr(a+1, b - a-1);
result.push_back(last);
return result;
}
总结
完整代码:完整代码下载
全部评论 (0)
还没有任何评论哟~
