C++ Cadena De Caracteres
[CADENA DE CARACTERES]
Cadenas de Caracteres
En C los datos tipo cadena, son tratados diferente a cualquier otro tipo de datos, un dato cadena es un conjunto de caracteres encerrado entre comillas y es representado de la siguiente forma: "computadora", las variables cadenas son declaradas de la siguiente forma: Declaración de una cadena de caracteres charnombre_variable[cantidad_caracteres_variable]; Ejemplo char apellido_materno[25]; -->lo que significa que en esta variable podremos guardar 24 caracteres máximo más el carácter nulo '\0' el cual indica donde una cadena termina. char palabra[20]=”Universidad”; palabra es una variable que puede almacenar hasta 20 caracteres, debido a que el último de esos caracteres es el carácter nulo ('\0') o fin de cadena, lavariable podrá almacenar en forma efectiva 19 caracteres. Gráficamente se vería así U n i v e r 0 1 2 3 4 5 Declaración de carácter char nombre_variable; Ejemplo char salir; Gráficamente se vería así B Cadena Es una serie de caracteres que se trata como unidad. Una cadena puede incluir letras, dígitos y diversos caracteres especiales, como +, -, *, /, $ y otros. En C las constantes de cadenas se escribenentre comillas, como sigue: “Carolina Lujan” (un nombre) “Av. Sinaloa #581” (una dirección) “Mexicali, Baja California” (una ciudad y estado) “686 1 62 14 54” (un número telefónico) Una cadena es un arreglo de caracteres que termina con el carácter nulo (´\n´). Es importante notar que una cadena puede manejarse como una unidad o bien como un conjunto de caracteres, los cuales pueden serdireccionados por la posición que ocupan dentro de la cadena.
L.S.C. JONATHAN SÁNCHEZ BRITTON 1
s 6
I 7
d 8
a 9
d 10
\n 11
12
13
14
15
16
17
18
19
Unidad 5 - 1
[CADENA DE CARACTERES]
Ejemplo #include #include void main(){ char palabra[25]="Universidad 2010"; int longitud, vocal=0, espacio=0, digito=0,c; clrscr(); printf("El contenido de la cadena es%s\n",palabra); longitud=strlen(palabra); printf("La longitud de la cadena es %d\n", longitud); for (c=0;cnombre="Rosa Aguilar" -->nombre1="Ros" -->nombre="Ros"
Existe una variación en esta función para especificar cuantos caracteres de cadena1 queremos copiar en cadena2 y es: strncpy(cadena1,cadena2, numero); strncpy(nombre, "Paola Lira", 5); Solo se copia Paola en la variable nombre -->nombre="Paola" strncpy(nombre1, "Paola Lira", 3);Solo se copia Pao variable nombre1 --> nombre1=”Pao”
L.S.C. JONATHAN SÁNCHEZ BRITTON
5
Unidad 5 - 1
[CADENA DE CARACTERES]
Ejemplo strcpy y strncpy #include #include void main(){ char x[]="Feliz cumpleaños a Ti"; char y[25]="", z[20]=""; clrscr(); printf("La cadena de caracteres en el arreglo x es: %s \n",x); strcpy(y,x); strncpy(z,x,16);printf("La cadena de caracteres en el arreglo y es: %s \n",y); printf("La cadena de caracteres en el arreglo z es: %s \n",z); getch(); } Salida en pantalla La cadena de caracteres en el arreglo x es: Feliz Cumpleaños a Ti La cadena de caracteres en el arreglo y es: Feliz Cumpleaños a Ti La cadena de caracteres en el arreglo z es: Feliz Cumpleaños strcat(cadena1, cadena2); En donde cadena1 debe seruna variable cadena y cadena 2 debe ser una variable cadena o un dato cadena, la unión de las dos cadenas queda en cadena1. Ejemplo strcat #include #include void main(){ char s1[20]="Feliz "; char s2[20]="Año Nuevo "; char s3[40]=""; clrscr(); printf("s1 = %s\n",s1); printf("s2 = %s\n",s2); printf("strcat(s1,s2) = %s\n",strcat(s1,s2)); printf("strncat(s3,s1,6) = %s\n",strncat(s3,s1,6));printf("strcat(s3,s1) = %s\n",strcat(s3,s1)); getch(); }
L.S.C. JONATHAN SÁNCHEZ BRITTON
6
Unidad 5 - 1
[CADENA DE CARACTERES]
Salida en pantalla S1 = Feliz S2 = Año Nuevo strcat(s1,s2) = Feliz Año Nuevo strcat(s3,s1,6) = Feliz strcat(s3,s1) = Feliz Feliz Año Nuevo Existe también una variación a esta función strncat() y sirve para especificar cuántos caracteres de cadena2 le vamos a unir...
Regístrate para leer el documento completo.