Scripts de c

Vamos a ver este programa que ilustra el tratamiento de cadenas de caracteres en Lenguaje C. Cada instrucción 
lleva un ejemplo.
/* Programa que ilustra el manejo de cadenas, con un
ejemplo de cada sentencia */
/* http://www.pro-gramas.com */
#include <stdio.h>
#include <string.h>

#define salto printf("\n");

main()
{
    int p;
    char cadena[1000]="",nombre[8]="Manolo",*c;

    gets(cadena);     /* Lee una cadena */ salto;

    puts(cadena);     /* Escribe la cadena */     salto;

    strcat(cadena,nombre);     /* Copia nombre al final de cadena */
    puts(cadena);

    strncat(cadena,nombre,3); /* Copia 3 caracteres de nombre al final de cadena */
    puts(cadena);     salto;

    strcpy(cadena,"Hola, amiguitos");
    puts(cadena);

    strncpy(cadena,"Hola mundo",8);
    puts(cadena);         salto;

    c=strtok(cadena,"sin");

    if(c) puts(c);

    printf("%d\n",strlen(cadena));     salto;

    strcpy(cadena,"Manola"); /* Compara dos cadenas y devuelve un entero */
    p=strcmp(cadena,nombre); /* El valor del entero indica cual es mayor */

    getchar();

    if (p<0) puts("cadena es menor que nombre");
     else if (p>0) puts("cadena es mayor que nombre");
     else if (!p) puts("Son iguales");
    salto;

    strcpy(cadena,"Manola");    /* Compara a las dos cadenas 5 caracteres */
    p=strncmp(cadena,nombre,5); /* Lo demas es similar a lo anterior */

    if (p<0) puts("cadena es menor que nombre");
     else if (p>0) puts("cadena es mayor que nombre");
     else if (!p) puts("Son iguales");
    salto;

    /* Compara las cadenas hasta el caracter que difieren */
    p=strspn(cadena,nombre);
    printf("Cadena y nombre difieren en el caracter %d\n",p);

    /* Compra las cadenas hasta encontrar un caracter igual */
    strcpy(cadena,"Veo y subo");
    p=strcspn(cadena,nombre);
    printf("El primer caracter que coinciden es el %d\n",++p);

    c=strpbrk(cadena,nombre);    /* Encuentra un caracter comun */
    printf("%s\n",c);    salto;

    /* Devuelve un puntero a la primera 'd' en cadena */
    strcpy(cadena,"En un lugar de la mancha...");
    c=strchr(cadena,'d');
    p=c-cadena;
    printf("La primera -d- esta en la posicion %d\n",p);
    printf("%s\n",c);     salto;

    /* Devuelve un puntero a la ultima 'n' en cadena */
    c=strrchr(cadena,'n');
    p=c-cadena;
    printf("La ultima -n- esta en la posicion %d\n",p);
    printf("%s\n",c);     salto;

    /* Devuelve el puntero a la primera ocurrencia de nombre en cadena */
    c=strstr(cadena,"lugar");
    printf("%s\n",c);     salto;

    /* Cuando una sentencia no ha funcionado devuelve null */
    c=strstr(cadena,nombre);
    printf("%s\n",c);     salto;

    getchar();
    printf("***************************************************\n");
    printf("***************************************************\n");
    printf("***************************************************\n\n\n");

}
Autor: elgame DescargarDescargar

Comentarios en "Programa que ilustra el tratamiento de cadenas en c"

Table 'programa_programas.t_comentarios' doesn't exist