C/string.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()
oustrlcat()
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.