我有一个字符串要解析。
这个字符串有一个几乎定义好的GPS坐标格式。
我想得到坐标。
有时我会这样:

09:24:29 N 012:34:35 W, 09:22:18 N 012:33:55 W

但有时我有多余的空格:
09:24:29 N 012:34:35 W , 09:22:18 N 012:33:55 W

但有时我没有空格:
09:24:29 N 012:34:35 W,09:22:18 N 012:33:55 W

但有时我有小数:
09:24:29.3 N 012:34:35.2 W, 09:22:18.1 N 012:33:55.6 W

所以我的问题是:
用C语言读取这些GPS坐标最可靠、最便携的方法是什么?
我最初是从sscanf开始的,但是我有很多关于额外的(或不是)空白和十进制的问题。

最佳答案

我建议您首先在逗号上拆分成多个字符串,然后使用sscanf会更简单,因为您不必关心前导或尾随空格。
至于小数点,如果以浮点形式读取,它将能够同时读取"18""18.1"。但是,您可能需要注意一些the problems with floating point data on binary computers

10-06 16:03