[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Programacion en c, scanf con espacios en blanco



On Friday 02 March 2007 21:34, Yortx Barry wrote:
> El 2/03/07, Enrique Jiménez Campos <ejcampos@gmail.com> escribió:
> > Buenas, mi duda es que si hay alguna manera de usar scanf con el
> > parametro %s para guardar cadenas de caracteres con espacios, me gustaria
> > saberlo ya que al gcc no parece gustarle demasiao gets().
> > Un saludo
>
> Hola!
>
> con el parámetro %s no, pero sí podras hacerlo con %[].
> Esto funciona de tal forma que entre los corchetes pones los
> caracteres que aceptará, o los que nó aceptará.
> Por ejemplo:
> scanf("%[a-z]",s);
> te recogerá un string con caracteres que estén entre la 'a' y la 'z'
> incluídas. En cuante encuentre un caracter distinto, parará.
> Si pones:
> scanf("%[^.]",s);
> encajará con todo, excepto con un punto. El el string que devuelve
> meterá todo, incluidos espacios, hasta que encuentre un punto.
>
> Yo esto lo he probado para leer de ficheros, pero para entrada
> estándar debería funcionar igual. Si quieres que te lea una línea
> entera, con espacios incluidos, hasta que pulse intro, quizas esto te
> funcione:
> scanf("%[^\n]",s);
>
> Espero que te sirva!
> (man scanf para más información)

Muchas gracias a todos, era justo lo que buscaba :)



Reply to: