Estoy analizando las entradas de estado de GPS en oraciones NMEA fijas, donde la fracción de minutos geográficos aparece siempre después del punto. Sin embargo, en sistemas donde la configuración regional define la coma como separador decimal, atof la función ignora el período y la parte de la fracción completa."atof" independiente de la configuración regional?
¿Cuál es el mejor método para solucionar este problema? Cadena larga/latitud almacenada en matriz de caracteres, si es importante.
Ejemplo de código:
m_longitude = atof((char *)pField);
Dónde
pField[] = "01000.3897";
proyecto multiplataforma, compilado para Windows XP y CE.
comentario a la solución:
respuesta aceptada es más elegante, pero this respuesta (y comentarios) es también vale la pena conocer como una solución rápida
¿Puede darnos algunos ejemplos de los datos con los que debe trabajar? Podría ayudarnos a brindar una mejor solución. – suszterpatt
m_longitude = atof ((char *) pField); donde pField [] = "01000.3897"; Proyecto multiplataforma, compilado para Windows XP y CE. – tomash
¿Existe alguna razón válida para no utilizar strtod (que tiene la misma característica sobre la configuración regional pero tiene un mejor manejo de errores)? – AProgrammer