[C con Clase] como leer cadenas en C++

Steven Davidson srd4121 en njit.edu
Dom Oct 30 12:21:25 CET 2011


Hola Roniel,

2011/10/30 Roniel Martin Alvarez <rmartin en estudiantes.uci.cu>:
> Saludos:
> me hace falta saber como yo puedo leer una cadena de caracteres en c++.
> Porque cuando yo leo una cadena con cin >> cadena o con scanf("%s",cadena) me almacena el valor hasta que encuentra el primer espacio pero lo que yo quiero es que me almacene el espacio tambien con todo lo que sigue.
> ejemplo:
>  la cadena es: "las computadoras son inteligentes"
> si yo lo leo con esta instruccion
>  cout >>cadenas;
> el valor que me almacena es:"las"
>  y yo lo que quiero es almacenar toda la cadena.
>

Usa la función miembro 'getline()'. Por ejemplo,

char szCadena[100];

cin.getline( szCadena, 100 );

Se leerá todos los caracteres hasta que una de las siguientes
condiciones se cumpla:
1. hasta leer la cantidad máxima indicada menos un carácter; 99 en este ejemplo,
2. hasta leer el carácter separador, el cual se extrae del canal y se
ignora; '\n', en este caso porque es el que está por defecto, o
3. hasta leer el carácter de fin-de-fichero (EOF).

Sea cual sea la condición cumplida, siempre se asigna el carácter nulo
al final de la cadena.


Espero que esto te ayude.

Steven




Más información sobre la lista de distribución Cconclase