SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: diego.martinez en Viernes 30 de Enero de 2009, 11:40

Título: sscanf
Publicado por: diego.martinez en Viernes 30 de Enero de 2009, 11:40
Buenas:

Una consulta sencillita:

Tengo un string con este formato :

Nombre=valor

por ejemplo:

TYPE=8F

y quiero leerlo con sscanf descomponiendolo en 2 strings , para ello hago
Código: Text
  1. sscanf(ptr,"%[^=]s=%s",Var,Value);
  2.  


pero me resulta que solo me lee el primero de los strings :S que hago mal? he estado mirando la sintaxis del sscanf y parece correcto.

att diego martinez
Título: Re: sscanf
Publicado por: m0skit0 en Viernes 30 de Enero de 2009, 12:54
¿Podrías especificar qué valores tienen ptr, Var y Value?

Salud
Título: Re: sscanf
Publicado por: DRiMeR en Sábado 31 de Enero de 2009, 10:40
No estoy muy seguro, porque hace ya tiempo que no uso expresiones como esas en el scanf, pero creo que te sobra una "s". El código que has puesto es el siguiente:

Código: Text
  1. sscanf(ptr,"%[^=]s=%s",Var,Value);
  2.  

Y yo diriía que debería ir así:

Código: Text
  1. sscanf(ptr,"%[^=]=%s",Var,Value);
  2.  

Porque al usar los [], no hace falta indicar que va a ser una cadena, y el sscanf espera que haya una S, y como no la hay, no sigue leyendo más carácteres.

Que yo recuerde era así. Espero que te sirva de ayuda.

Un saludo.