Ver Mensaje Individual
  #4 (permalink)  
Antiguo 12/04/2011, 07:35
Trovaz
 
Fecha de Ingreso: octubre-2010
Ubicación: Edo. de México
Mensajes: 94
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: cadena de Texto

En realidad no es que scanf siempre termine cuando encuentra un espacio en blanco, mas bien, scanf lee la información de la entrada estandar ( el teclado) con cierto formato que TÚ defines.

La forma más común en la que se leen cadenas con scanf es:

Código C:
Ver original
  1. scanf("%s", miCadena);

Hay que tomar en cuenta que las cadenas (arreglos de caracteres o apuntadores de tipo caracter) por si mismas ya son una dirección de memoria, por lo que no necesitan del ampersand a la hora de utilizarlos en scanf.

Volviendo al tema.

Como decía, scanf lee información con el formato que tu le indiques, asi que para que lea espacios y demás puedes hacerlo de la siguiente forma.


Código C:
Ver original
  1. scanf("%[^\n]", miCadena);

Con esto le inficas a scanf que lea TODO exepto el salto de línea.

Espero te sea de ayuda, Salu2