CADENAS O STRING

Una cadena es un arreglo de tipo caracter.
Ejemplo:
char nombre[30];
/* declara la variable nombre de 30 caracteres */
Toda cadena de caracteres termina en un nulo '###BOT_TEXT###'.
Ejemplo:
#define TM 5
#include "stdio.h"
main()
{ char s[TM];
puts("Escribe hola");
gets(s);
printf("%s\n", s);
}
La cadena s quedará así en memoria:

/* convierte una cadena en mayúscula */
#include <stdio.h>
#include <ctype.h>
main()
{
char string[80];
int i;
printf("Introduce una frase en minúscula :");
gets(string);
for(i=0; string[i]; i++)
printf("%c", toupper(string[i]));
}
/*permita ingresar una frase y luego la descompone ensus palabras imprimiéndolas en líneas
diferentes .
#include "stdio.h"
#include<iostream.h>
main()
{
char s[80];
int i;
printf("Escribe una frase :"); gets(s);
for(i=0; s[i]; i++)
if (s[i]==' ')
cout<<endl;
else
cout<<s[i];
}

FUNCIONES DE CADENA DE LA BIBLIOTECA
Estas funciones se hallan definidas en el archivo "string.h".

Formato : strcpy(destino. "hola mundo"). strcpy(a1. a2[40]. Formato : strlen(cadena). Concatena la cadena2 al final de la cadena1. Formato : strcmp(cadena1. printf("%s\n". Ejemplo : #include <string.h> main() { const char pass[]="algoritmica I". strcat(a1. Ejemplo: #include <string.h" main() { char a[80]. cadena2). } strcat() :Concatena dos cadenas.. strcpy(a2. } } strlen() :Devuelve la longitud de una cadena. origen). pass)) == 0) puts("Ok. Si cadena1 es menor que cadena2 devuelve un valor negativo. gets(s). Ejemplo: #include "string. a2). Si cadena1 es mayor que cadena2 devuelve un valor mayor que cero. if((strcmp(s." colombia"). Formato : strcat(cadena1. char s[80]."cartagena"). else { puts("Password equivocado"). puts(a1). } strcmp() :Compara dos cadenas y devuelve cero si son iguales.h> #include <stdio. Ejemplo: #include <string. puts("Password :").h> #include<stdlib.strcpy() :Copia el contenido de la cadena origen en la cadena destino.").h> #include <stdio.h> #include <stdio. . exit(0). a). cadena2).. strcpy(a.h> main() { char s[80].h> main() { char a1[80].

str1.str2). gets (str2).str2). char cad[50].str2). gets (str1). /*comparar cadenas*/ i=strcmp(str1..strlen(str1)). .str1.str1. strlen(s)). printf ("\n%s es de %d caracteres de largo\n". /*longitud de las cadenas*/ printf ("\n%s es de %d caracteres de largo\n". Función que realiza la misma operación que la función strlen. printf ("\n%s y %s". getche().str1).h int mystrlen(char *s).strlen(str2)). void main(void) { int n. Calcula la longitud de la cadena S. clrscr().. Regresa el número de caracteres en S sin contar el caracter de fin de cadena. int i. printf ("Introduce una cadena de caracteres: ").str2). } /*copia str2 a str1*/ strcpy (str1. #include stdio. } #include <stdio. "Hello. } 2. printf("%d\n". printf ("\n%s". else if (i<0) printf ("\n%s es menor que %s".h #include ctype. /*concatenación de srt1 con str2*/ if (strlen(str1)+strlen(str2)<80) { strcat (str1.str1.").str2). printf ("Introduce la segunda cadena de caractes: ").str2[80]. if (!i) printf ("\nLas cadenas son iguales\n").h> #include <string.h> main() { char str1[80]. else printf ("\n%s es mayor que %s".strcpy(s.str2.str2).

char *finap.  int atoi(const char *cadena) Convierte una cadena a un valor entero. /* i = 100 */ f = atof(cad2). while(1) {if(*s=='###BOT_TEXT###') { break.  double strtol(const char *cadena. } int mystrlen(char *s) {int c=0. char *finap. int i. por ejemplo: char *cad1 = "100". char *cad3 = " 1234". gets(cad). la cual deberá estar entre 2 y 36 inclusive. char *cad4 = "123cuatro".44 */ i = atoi(cad3).  double strtod(const char *cadena. /* i = 123 */ . Varias de las funciones se pueden usar en forma directa. char **finap) Convierte una cadena a un valor de punto flotante. } return c.n).  unsigned long strtoul(const char *cadena. enteros largos y valores flotantes. s++. int base) Convierte una cadena a un entero largo sin signo. getch().  int atol(const char *cadena) Convierte una cadena a un valor entero largo. /* f = 55. char *cad5 = "invalido123". n=mystrlen(cad).printf("Introduce la cadena: "). float f: i = atoi(cad1). Estas son:  double atof(const char *cadena) Convierte una cadena a un valor flotante.444". printf("\nEl numero de caracteres de la cadena s fue %d". char *cad7. char *cad2 = "55. /* i = 1234 */ i = atoi(cad4). int base) Convierte una cadena a un entero largo de acuerdo a una base dada. } 14.3 Conversión de cadenas Existen unas cuantas funciones para convertir cadenas a enteros. } c++. char *cad6 = "123E23Hola".

230000E+25 y cad7=hola*/ Nota:  Los caracteres en blanco son saltados. &cad7). /* f=1.  Caracteres ilegales son ignorados.  Si la conversión no puede ser hecha se regresa cero y errno es puesta con el valor ERANGE. /* i = 0 */ f = strtod(cad6.i = atoi(cad5). .

strcat Añade una cadena de caracteres a otra. strspn strstr Busca en una cadena el primer segmento que es un subconjunto de un conjunto de caracteres dado. strnicmp Compara parte de una cadena con parte de otra. strrchr Busca la última aparición de un caracter en una cadena. strpbrk Busca la primera aparición. strdup Copia una cadena a una nueva localidad. strupr Convierte las minúsculas de una cadena a mayúsculas. strncpy Copia un un número de bytes dados. sin distinguir entre mayúsculas y minúsculas. .Se detiene cuando encuentra el terminador nulo. strncmpi Compara parte de una cadena con parte de otra. _strerror Genera un mensaje de error definido por el programador. sin distinguir entre mayúsculas y minúsculas. strtod Convierte una cadena a un valor double ó long double. strset Hace que los elementos de una cadena tengan un valor dado. strcspn Busca segmentos que no contienen un subconjunto de un conjunto especificado de caracteres. strncmp Compara parte de una cadena con parte de otra. strnset Hace que un grupo de elementos de una cadena tengan un valor dado. strchr Busca. strlwr Convierte las mayúsculas de una cadena en minúsculas. strrev Invierte el orden de los caracteres de una cadena. strcmpi Macro que compara dos cadenas sin distinguir entre mayúsculas y minúsculas. _strtime Convierte la hora actual a una cadena. strtol Convierte una cadena a un valor long.FUNCION DESCRIPCION stpcpy Copia una cadena de caracteres en otra. un caracter dado. strcpy Copia una cadena. de cualquier caracter de un conjunto dado. strtoul Convierte una cadena a un valor unsigned long. strcmp Compara dos cadenas. en una cadena. Busca en una cadena la aparición de una subcadena dada. stricmp Compara dos cadenas sin diferenciar entre mayúsculas y minúsculas strlen Determina la longitud de una cadena. strncat Añade el contenido de una cadena al final de otra. desde una cadena hacia otra. strerror Retorna el apuntador al mensaje asociado con el valor del error. en una cadena.