嗨我正在使用GPS輸出。爲了更準確,我正在使用$ GPRMC輸出。現在,我得到的輸出爲以下形式:使用C++輸出GPS輸出
$GPRMC,225446,A,4916.45 N,12311.12 W,000.5,054.7,191194,020.3 E,*68"
此輸出構成的時間,拉特,長材,在海里的速度,信息關於課程,日期,磁場變化和強制性檢驗。
現在我得到的HHMMSS格式的時間。我想用hh:mm:ss格式。 另外我得到的經度爲4916.45 N.我想把它作爲49度16'45「。 緯度爲123度11'12」。我是一個初學者,所以我真的不知道如何轉換格式。我還附上了我的代碼。
#include<iostream>
#include<string>
#include<sstream>
#include<stdio.h>
#include<conio.h>
using namespace std;
int main()
{
std::string input = "$GPRMC,225446,A,4916.45 N,12311.12 W,000.5,054.7,191194,020.3 E,*68";
std::istringstream ss(input);
std::string token;
string a[10];
int n = 0;
while (std::getline(ss, token, ','))
{
//std::cout << token << '\n';
a[n] = token;
n++;
}
cout << a[0] << endl << endl;
cout << "Time=" << a[1] << endl << endl;
cout << "Navigation receiver status:" << a[2] << endl << endl;
cout << "Latitude=" << a[3] << endl << endl;
cout << "Longitude=" << a[4] << endl << endl;
cout << "Speed over ground knots:" << a[5] << endl << endl;
cout << "Course made good,True:" << a[6] << endl << endl;
cout << "Date of Fix:" << a[7] << endl << endl;
cout << "Magnetic variation:" << a[8] << endl << endl;
cout << "Mandatory Checksum:" << a[9] << endl << endl;
_getch();
return 0;
}
請重新考慮你的東西往往被認爲使用不好的做法:['using namespace std;'](http://stackoverflow.com/q/1452721/1171191)和['endl'](http://chris-sharpe.blogspot.co.uk/2016/02 /why-you-shouldnt-use-stdendl.html)(這些是解釋的鏈接)。 – BoBTFish