Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema scan coordenadas

Estas en el tema de Problema scan coordenadas en el foro de C/C++ en Foros del Web. Buenas a tod@s, Tengo una serie de coordenadas tipo "-72.62695736199993,18.97338654500004 -72.62702533899994,18.972610682000038 -72.62..." Estas coordenadas están guardades en una cadena de caracteres dinámica (char *). Las ...
  #1 (permalink)  
Antiguo 16/07/2010, 10:58
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Problema scan coordenadas

Buenas a tod@s,

Tengo una serie de coordenadas tipo
"-72.62695736199993,18.97338654500004 -72.62702533899994,18.972610682000038 -72.62..."
Estas coordenadas están guardades en una cadena de caracteres dinámica (char *). Las separaciones entre conjunto de coordenadas (en este caso, es " "), entre las propias coordenadas (en este caso, es ",") y el símbolo decimal (en este caso, es ".") no siempre pueden ser los mismos pero conozco de antemano cuales son ya que cada una de las separacciones estan tambien guardadas como cadena de carácteres (aunque generalmente sea solo un carácter).

Si fueran siempre los mismos, con un sscanf sería fácil, pero como comento, no siempre es así.

Resumiendo en el código tengo:
char *coordenadas="-72.62695736199993,18.97338654500004 -72.6...";
char *decimal=".";
char *sep_coor=",";
char *sep_conj=" ";

¿Cómo puedo hacer para pasarlo a un vector de coordenadas en Ansi C?
Gracias por adelantado.
  #2 (permalink)  
Antiguo 18/07/2010, 08:14
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: Problema scan coordenadas

Opciones:
- Usar strtok()
- Recorrer el string en busca de los separadores

Usa una maquina de estados para saber en que parte del string estas
  #3 (permalink)  
Antiguo 19/07/2010, 12:09
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Problema scan coordenadas

Al final utilicé la función strstr. De todas maneras, donde tenía más dudas era en como hacer el sscanf del número ya que la separación decimal: por defecto es el punto pero puede ser cualquiera. La solución que he adoptado es sea cual sea el símbolo cambiarlo por el punto y lo mismo con la coma para la separación entre cada coordenada y con el espacio para la separación entre par de coordenadas. De esta manera puedo hacer un sscanf.

Gracias por tu respuesta!

Etiquetas: coordenadas, scan
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:07.