以下是使用 C++ 实现提取`$gprmc`报文中经纬度值的代码: ```cpp #include <iostream> #include <string> // 提取经纬度值的函数 void extractLatLong(const std::string &message) { int commaCount = 0; std::string lat = ""; std::string longt = ""; for (char c : message) { if (c == ',') { commaCount++; if (commaCount == 3) { // 提取纬度值 while (message[++c]!= ',') { lat += message[c]; } } if (commaCount == 5) { // 提取经度值 while (message[++c]!= ',') { longt += message[c]; } } } } std::cout << "纬度: " << lat << ", 经度: " << longt << std::endl; } int main() { std::string message = "$gprmc,123456.789,a,3015.2345,n,12030.5678,e,200.5,150.5,010523,10.5,e,a"; extractLatLong(message); return 0; } ``` 注意点: 1. 输入的报文格式需要严格符合给定的规则,否则可能导致提取错误。 2. 代码中未对提取的经纬度值进行有效性校验。 3. 可以考虑添加错误处理机制,以应对异常情况。 [2025-01-08 03:43:54 | AI写代码神器 | 385点数解答]