Sei sulla pagina 1di 5

Clases de cadenas string y funciones

Stpcpy: Copia la cadena src a dest, parando después de alcanzar el carácter


nulo de la terminación src. stpcpy devuelve un puntero al carácter nulo de
terminación de dest. Si se define UNICODE, _wcspcpy devuelve un puntero a la
terminación de carácter nulo de la cadena wchar_t dest.

#include <string.h>

#include <stdio.h>

int main(void)

char string[10];

char *str1 = "abcdefghi";

stpcpy(string, str1);

printf("%s\n", string);

return 0;

strchr: Analiza una cadena en la dirección de avance, en busca de un


determinado carácter. strchr encuentra la primera aparición del carácter c en la
cadena s. El terminador nulo es considerado como parte de la cadena.

#include <string.h>

#include <stdio.h>

int main(void)

char string[15];

char *ptr, c = 'r';

strcpy(string, "This is a string");


ptr = strchr(string, c);

if (ptr)

printf("The character %c is at position: %d\n", c, ptr-string);

else

printf("The character was not found\n");

return 0;}

strcmp: Realiza una comparación del contenido de s1 con s2, a partir de el primer
carácter de cada cadena y continua con los siguientes caracteres hasta que los
caracteres correspondientes difieren o hasta alcanzar el final de la cadenas.

Valor de Retorno

Si s1 es ... valor de retorno es ...

menor que s2 <0

el mismo que s2 == 0

mayor que s2 >0

#include <string.h>

#include <stdio.h>

int main(void)

char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";

int ptr;

ptr = strcmp(buf2, buf1);

if (ptr > 0)

printf("buffer 2 is greater than buffer 1\n");


else

printf("buffer 2 is less than buffer 1\n");

ptr = strcmp(buf2, buf3);

if (ptr > 0)

printf("buffer 2 is greater than buffer 3\n");

else

printf("buffer 2 is less than buffer 3\n");

return 0;

Strncmp: Realiza una comparación de s1 a s2, para una longitud máxima de n


bytes, comenzando con el primer carácter de cada cadena y continuar con los
siguientes caracteres hasta que los caracteres correspondientes difieren o hasta
que se han examinado n caracteres. La comparación hace distinción entre
mayúsculas y minúsculas. (Strncmpi es el mismo que strnicmp - Implementado
como una macro). Devuelve un valor (<0, 0, o> 0) sobre la base de el resultado de
comparar s1 (o parte de ella) a s2 (o parte de ella).

Si s1 es ... strncmpi devuelve un valor que es ...

menor que s2 <0

el mismo que s2 == 0

mayor que s2 >0

#include <string.h>

#include <stdio.h>
int main(void)

char *buf1 = "BBBccc", *buf2 = "bbbccc";

int ptr;

ptr = strncmpi(buf2,buf1,3);

if (ptr > 0)

printf("buffer 2 is greater than buffer 1\n");

if (ptr < 0)

printf("buffer 2 is less than buffer 1\n");

if (ptr == 0)

printf("buffer 2 equals buffer 1\n");

return 0;

Strrchr: Analiza una cadena en la dirección contraria, en busca de un determinado


carácter. strrchr encuentra la última ocurrencia del carácter c en la cadena s. El
terminador nulo es considerado como parte de la cadena. strrchr devuelve un
puntero a la última ocurrencia del carácter c Si c no ocurre en s, strrchr devuelve
un valor nulo.

#include <string.h>

#include <stdio.h>

int main(void)

char string[15];

char *ptr, c = 'r';

strcpy(string, "This is a string");

ptr = strrchr(string, c);


if (ptr)

printf("The character %c is at position: %d\n", c, ptr-string);

else

printf("The character was not found\n");

return 0;

Strupr: Convierte las letras minúsculas en la cadena s en mayúsculas de acuerdo


con categoría LC_CTYPE del locale actual. La conversión es de letras minúsculas
(a - z) a las letras mayúsculas (A a Z). Otros caracteres no se modifican.

strupr retorna s.

#include <stdio.h>

#include <string.h>

int main(void)

char *string = "abcdefghijklmnopqrstuvwxyz", *ptr;

/* converts string to upper case characters */

ptr = strupr(string);

printf("%s\n", ptr);

return 0;

Potrebbero piacerti anche