tarea 458
Una cadena se declara de la siguiente manera:
1
char identificador[tamaño_maximo + 1];
Cuando se declara unacadena hay que tener en cuenta que tendremos que reservar una posición para almacenar el carácter nulo terminador, de modo que si queremos almacenar la cadena “CASA”, tendremos que declarar la cadenacomo:
1
char valor[5];
Las cuatro primeras posiciones se usan para almacenar los caracteres “CASA” y la posición extra, para el carácter nulo.
En un programa C++, una cadena puede almacenarinformaciones en forma de texto, como nombres de personas, mensajes de error, números de teléfono, etc.
- La asignación directa sólo está permitida cuando se hace junto con la declaración.
1
charnombre[]="jose";
o también:
1
char *nombre=”jose”;
El siguiente ejemplo producirá un error en el compilador:
1
2
char nombre[5];
nombre=”jose”;
- La comparación directa de cadenas no está permitida.Por ejemplo el siguiente ejemplo producirá un error.
1
if (nombre==”jose”)
Para la manipulación de cadenas de caracteres se usa la biblioteca de funciones “string.h”
Entrada de Cadenas deCaracteres.
Uso de cin
El uso de cin de manera estándar tiene 2 problemas:
• La cadena es leída hasta que se encuentre ENTER, espacio o tabulador. Esto hace que se puedan perder datos, por ejemplo, si unapersona tiene dos nombres, al usar cin >> nombre, se estaría perdiendo el segundo de ellos.
• Lo que no se ha leído, se queda almacenado en el buffer de teclado, por lo que si no queremos que semezcle con otras lecturas debemos ignorarlo. Ese es el motivo de la sentencia cin.ignore(MAXCAD,ENTER), que lo que hace es ignorar lo que haya en el buffer de teclado hasta un máximo de caracteres o unseparador (ENTER en nuestro caso).
Uso de cin.getline(TCadena &cadena, int tam_array, char separador)
cin.getline lee caracteres desde teclado hasta que se encuentre el carácter que se indique como...
Regístrate para leer el documento completo.