Cadenas En C++
Una cadena de Caracteres en el lenguaje del C++ es un vector de tipo unsigned char o simplemente char donde no es mas que un vector de enteros donde cada carácter es asociado a unentero de 0 a 255 en el código ASCII. char “nombredelacadena” [Limite]; Ejemplos:
char cadena[50]; unsigned char cadena[50];
Las cadenas de caracteres terminan en un valornulo “\0”. char cadena[6]={„a‟ , ‟b‟ , ‟c‟ , ‟d‟, ‟e‟,‟\0‟}; Puesto que cada carácter esta asociado a un entero en el código ASCII la cadena anterior es equivalente a : char cadena[6]={97 , 98 ,99,100,101,0};
Leer y Escribir una Cadena de Caracteres
Librería
#include void main () { char cadena[50]; printf("Ingrese Cadena de Caracteres :"); scanf("%s",cadena);printf("\nCadena Ingresada : %s \n",cadena); }
Pero ahora ingrese una cadena de caracteres donde incluya espacios en blanco el ejemplo anterior solo nos mostrara la primera palabra o hasta encontrar elprimer espacio en blanco.
Para solucionar este problema la Librería nos tiene una solución la cual se trata de la modificación en el formato de personalización del scanf.Scanf(“%[^\n]”,cadena);
Esta modificación permite recorrer el vector de caracteres hasta que encuentra “\n” que se da cuando uno presiona enter.
Función getchar
Principalmente la función getcharalmacena cada carácter leído de un texto en la siguiente posición libre de una matriz de caracteres por medio de un bucle ,donde debemos finalizar la cadena con el carácter “\0”.
#include #definelong_cad 41 void main () { unsigned char cadena[long_cad]; int i=0,car; printf("Introducer un Texto :"); //Bucle while ((car=getchar())!='\n' && i< long_cad-1) {cadena[i]=car; i++; //aumenta posiciones dela cadena} cadena[i]=0; printf("Texto Introducido: %s \n",cadena); printf("Longitud del Texto: %i \n",i); }
Algoritmo para Convertir una cadena a su valor en el Código ASCII
#include...
Regístrate para leer el documento completo.