请用sscanf函数解析以下字符串:$GPFPD,1356,9013.40,0.000,0.000,0.000,0.000000000,0.000000000,0.000,0.000,0.000,0.000,0.000,0,0,0*79
时间: 2023-05-27 22:07:58 浏览: 81
```c++
#include <cstdio>
#include <cstring>
int main() {
char str[] = "$GPFPD,1356,9013.40,0.000,0.000,0.000,0.000000000,0.000000000,0.000,0.000,0.000,0.000,0.000,0,0,0*79";
char id[10];
int num1, num2;
double nums[12];
int checksum;
int count = sscanf(str, "$%[^,],%d,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%d,%d,%d*%x",
id, &num1, &nums[0], &nums[1], &nums[2], &nums[3], &nums[4], &nums[5], &nums[6], &nums[7], &nums[8], &nums[9], &nums[10], &num2, &nums[11], &checksum);
if (count == 16) {
printf("ID: %s\n", id);
printf("Num1: %d\n", num1);
printf("Num2: %d\n", num2);
printf("Checksum: %x\n", checksum);
printf("Double values:\n");
for (int i = 0; i < 12; ++i) {
printf("%lf ", nums[i]);
}
printf("\n");
}
else {
printf("Parsing failed\n");
}
return 0;
}
```