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
editarOs 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.