5.3.- Cadenas de caracteres


En C++ no existe un tipo predefinido para el manejo de cadenas de caracteres como en otros lenguajes, sino que tienen que declararse como arreglos de caracteres.

Lo que distingue a una cadena de caracteres, con respecto a un arreglo de caracteres cualquiera, es que la cadena de caracteres tiene como último carácter al carácter nulo \0.

Por ejemplo, si se declara el arreglo:

                                                                
               char cadena[8];

podemos asignar los siguientes valores a cada uno de sus elementos:

               cadena[0] = 'A' ;
               cadena[1] = 'R' ;
               cadena[2] = 'R' ;
               cadena[3] = 'E' ;
               cadena[4] = 'G' ;
               cadena[5] = 'L' ; 
               cadena[6] = 'O' ; 
               cadena[7] = '\0';  
 

Al contener el carácter nulo, el arreglo cadena será reconocido por las funciones y objetos diseñados para manipular cadenas de caracteres. Para manejar un arreglo de cadenas de caracteres se debe declarar como un arreglo bidimensional de elementos de tipo char, como puede observarse en el listado 5.2.

                                                                
  #include <iostream.h>
  #include <conio.h>

  void main()
  {
    unsigned short int calif[10];
    char nombre[10][21]; // Se declara un arreglo bidimensional
                         // para 10 nombres de 20 caracteres por
                         // nombre mas un caracter para el nulo.
    clrscr();
    for( int x=0 ; x < 10 ; x++) 
      {
       gotoxy(10,x+1); 
       cout << "NOMBRE [" << x << "] = " ;
       cin >> nombre[x];
       gotoxy(45,x+1);
       cout << "CALIFICACION [" << x << "] = " ;
       cin >> calif[x];
      }
  }
 

Listado 5.2.- Manejo de un arreglo de cadenas de caracteres.

En el listado 5.2, se inicia con el subíndice 0 para no desperdiciar el primer elemento del arreglo. Además, se debe recordar que el subíndice del último elemento del arreglo es igual al tamaño de la dimensión menos 1.

Página anterior Página siguiente