C
← Volver a stdlib.h string.h Seguir con tgmath.h


Este ficheiro de cabeceira permite o traballo con cadeas de caracteres en C, que non son máis que matrices de caracteres cuxa lonxitude determina o carácter nulo, '\0'. Cómpre dicir que moitos programadores prefiren evitar o seu uso debido a que as súas funcións son susceptibles de sufrir desbordamentos. Pode incluírse nun código fonte mediante a seguinte directriz:

#include <string.h>

Funcións editar

Os prefixos das funcións deste ficheiro de cabeceira indican se estas traballan con cadeas de caracteres rematadas no carácter nulo (str-), non rematadas no carácter nulo (strn-) ou indiferentemente de se acaban ou non no carácter nulo (mem-).

strcat editar

Algúns programadores recomendan o uso de strncat() ou strlcat() en vez desta función para evitar desbordamentos do búfer.

O seu prototipo é o seguinte:

char *strcat(char * restrict s1, const char * restrict s2);

Esta función engade unha copia da cadea apuntada por s2 (incluído o carácter nulo final) ao final da cadea apuntada por s1. O primeiro carácter de s2 substitúe o carácter nulo final de s1. A función devolve s1.

A función engade o contido dunha cadea de caracteres ao doutra, e é necesario que esta última (s1) teña espazo abondo para albergar ambas as dúas cadeas xuntas.

strchr editar

O seu prototipo é o seguinte:

char *strchr(const char *s, int c);

Esta función busca a primeira ocorrencia de c (convertido nun char) na cadea apuntada por s. O carácter nulo final considérase parte da cadea. A función devolve a posición do carácter atopado ou un punteiro nulo en caso de non atopalo.

A función utilízase para buscar caracteres concretos en cadeas.

strcmp editar

O seu prototipo é o seguinte:

int strcmp(const char *s1, const char *s2);

Esta función consiste nunha forma rudimentaria de comparación de cadeas de caracteres. Recibe dúas cadeas de caracteres como argumentos e devolve un valor inferior a cero se a primeira vai antes en termos lexicográficos, un valor superior a xero en caso contrario, o cero en caso de que as cadeas de caracteres sexan idénticas. A comparación efectúase comparando carácter a carácter o valor ASCII dos caracteres.

A función é extremadamente rudimentaria no que respecta ao seu algoritmo, polo que os resultados serán moi limitados. Por exemplo, a función consideraría que "Proba2" vai despois de "Proba12".

En xeral, a utilidade desta función é saber se dúas cadeas son ou non idénticas, pois respecto de cal vai antes entran en xogo factores (codificacións de caracteres) cos que a función non pode traballar correctamente.

strcpy editar

Permite copiar unha cadea de caracteres noutra.

strlen editar

Devolve a lonxitude en caracteres dunha cadea.

strncat editar

Permite concatenar unha cadea con parte doutra.

strncmp editar

Permite comparar fragmentos de dúas cadeas de caracteres.

strncpy editar

Permite copiar parte dunha cadea de caracteres noutra.

strrchr editar

Permite analizar cadeas de caracteres.


C
← Volver a stdlib.h string.h Seguir con tgmath.h