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
sscanf(ptr,"%[^=]s=%s",Var,Value);
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
sscanf(ptr,"%[^=]s=%s",Var,Value);
Y yo diriía que debería ir así:
Código: Text
sscanf(ptr,"%[^=]=%s",Var,Value);
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.