• Martes 12 de Noviembre de 2024, 21:03

Autor Tema:  sscanf  (Leído 970 veces)

diego.martinez

  • Miembro MUY activo
  • ***
  • Mensajes: 297
    • Ver Perfil
sscanf
« en: Viernes 30 de Enero de 2009, 11:40 »
0
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

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: sscanf
« Respuesta #1 en: Viernes 30 de Enero de 2009, 12:54 »
0
¿Podrías especificar qué valores tienen ptr, Var y Value?

Salud

DRiMeR

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
    • http://www.informatizados.es
Re: sscanf
« Respuesta #2 en: Sábado 31 de Enero de 2009, 10:40 »
0
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.