FUNCIONES DE LA LIBRERIA string.
h
1. strlen
• Descripción: Devuelve la longitud de una cadena.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 const char *str = "Hola, mundo!";
6 printf("La longitud de la cadena es: %zu\n", strlen(str));
7 return 0;
8}
2. strcpy
• Descripción: Copia una cadena a otra.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 char dest[20];
6 const char *src = "Hola!";
7 strcpy(dest, src);
8 printf("Cadena copiada: %s\n", dest);
9 return 0;
10}
3. strncpy
• Descripción: Copia un número específico de caracteres de una cadena a otra.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 char dest[10];
6 const char *src = "Hola, mundo!";
7 strncpy(dest, src, 4);
8 dest[4] = '\0'; // Asegurarse de que la cadena esté terminada
9 printf("Cadena copiada: %s\n", dest);
10 return 0;
11}
4. strcat
• Descripción: Concatena dos cadenas.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 char dest[20] = "Hola";
6 const char *src = ", mundo!";
7 strcat(dest, src);
8 printf("Cadena concatenada: %s\n", dest);
9 return 0;
10}
5. strncat
• Descripción: Concatena un número específico de caracteres de una cadena a otra.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 char dest[20] = "Hola";
6 const char *src = ", mundo!";
7 strncat(dest, src, 6);
8 printf("Cadena concatenada: %s\n", dest);
9 return 0;
10}
6. strcmp
• Descripción: Compara dos cadenas.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 const char *str1 = "Hola";
6 const char *str2 = "Hola";
7 int result = strcmp(str1, str2);
8 printf("Resultado de la comparación: %d\n", result); // 0 si
son iguales
9 return 0;
10}
7. strncmp
• Descripción: Compara un número específico de caracteres de dos cadenas.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 const char *str1 = "Hola";
6 const char *str2 = "Holandia";
7 int result = strncmp(str1, str2, 4);
8 printf("Resultado de la comparación: %d\n", result); // 0 si
son iguales
9 return 0;
10}
8. strchr
• Descripción: Busca el primer carácter en una cadena.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 const char *str = "Hola, mundo!";
6 char *ptr = strchr(str, 'm');
7 if (ptr) {
8 printf("Caracter encontrado: %c\n", *ptr);
9 }
10 return 0;
11}
9. strrchr
• Descripción: Busca el último carácter en una cadena.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 const char *str = "Hola, mundo!";
6 char *ptr = strrchr(str, 'o');
7 if (ptr) {
8 printf("Ultimo 'o' encontrado en: %s\n", ptr);
9 }
10 return 0;
11}
10.strstr
• Descripción: Busca una subcadena dentro de una cadena.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 const char *str = "Hola, mundo!";
6 const char *sub = "mundo";
7 char *ptr = strstr(str, sub);
8 if (ptr) {
9 printf("Subcadena encontrada: %s\n", ptr);
10 }
11 return 0;
12}
11.strspn
• Descripción: Devuelve la longitud del segmento inicial de la cadena que consiste
solo en caracteres de un conjunto dado.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 const char *str = "12345abc";
6 const char *set = "1234567890";
7 size_t len = strspn(str, set);
8 printf("Longitud del segmento: %zu\n", len); // 5
9 return 0;
10}
12.strcspn
• Descripción: Devuelve la longitud del segmento inicial de la cadena que no contiene
caracteres de un conjunto dado.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 const char *str = "12345abc";
6 const char *set = "abc";
7 size_t len = strcspn(str, set);
8 printf("Longitud del segmento: %zu\n", len); // 5
9 return 0;
10}
13.strpbrk
• Descripción: Busca el primer carácter en una cadena que coincide con cualquiera de
los caracteres de un conjunto dado.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 const char *str = "Hola, mundo!";
6 const char *set = "aeiou";
7 char *ptr = strpbrk(str, set);
8 if (ptr) {
9 printf("Primer vocal encontrada: %c\n", *ptr);
10 }
11 return 0;
12}
14.strtok
• Descripción: Divide una cadena en una serie de tokens basados en delimitadores.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 char str[] = "Hola, mundo! Bienvenido a C.";
6 char *token = strtok(str, " ,.!"); // Delimitadores
7 while (token != NULL) {
8 printf("Token: %s\n", token);
9 token = strtok(NULL, " ,.!");
10 }
11 return 0;
12}
15.strdup
• Descripción: Duplica una cadena (asigna memoria para una nueva cadena que es una
copia de la original).
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3#include <stdlib.h>
4
5int main() {
6 const char *str = "Hola!";
7 char *dup = strdup(str);
8 printf("Cadena duplicada: %s\n", dup);
9 free(dup); // Liberar la memoria
10 return 0;
11}
16.memset
• Descripción: Establece un bloque de memoria con un valor específico.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 char buffer[10];
6 memset(buffer, 'A', sizeof(buffer) - 1);
7 buffer[9] = '\0'; // Asegurarse de que la cadena esté terminada
8 printf("Buffer: %s\n", buffer);
9 return 0;
10}
17.memcpy
• Descripción: Copia un bloque de memoria de una ubicación a otra.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 char src[] = "Hola";
6 char dest[10];
7 memcpy(dest, src, strlen(src) + 1); // Copia incluyendo el
terminador nulo
8 printf("Cadena copiada: %s\n", dest);
9 return 0;
10}
11``
18.memmove
• Descripción: Mueve un bloque de memoria de una ubicación a otra, manejando
correctamente la superposición.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 char str[] = "Hola, mundo!";
6 memmove(str + 5, str, 6); // Mueve "Hola, " a la posición
después de "Hola"
7 printf("Resultado: %s\n", str); // "Hola, Hola, !"
8 return 0;
9}
19.memcmp
• Descripción: Compara dos bloques de memoria.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 char buf1[] = "Hola";
6 char buf2[] = "Hola";
7 int result = memcmp(buf1, buf2, 4); // Compara los primeros 4
bytes
8 printf("Resultado de la comparación: %d\n", result); // 0 si
son iguales
9 return 0;
10}
•
20.memchr
• Descripción: Busca un carácter en un bloque de memoria.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 const char str[] = "Hola, mundo!";
6 char *ptr = memchr(str, 'm', strlen(str));
7 if (ptr) {
8 printf("Caracter encontrado: %c\n", *ptr);
9 }
10 return 0;
11}
21.memset
• Descripción: Establece un bloque de memoria con un valor específico.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <string.h>
3
4int main() {
5 char buffer[10];
6 memset(buffer, 'A', sizeof(buffer) - 1);
7 buffer[9] = '\0'; // Asegurarse de que la cadena esté terminada
8 printf("Buffer: %s\n", buffer);
9 return 0;
10}
Funciones de <ctype.h>
1. isalnum
• Descripción: Verifica si un carácter es alfanumérico.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <ctype.h>
3
4int main() {
5 char c = 'A';
6 if (isalnum(c)) {
7 printf("%c es alfanumérico.\n", c);
8 }
9 return 0;
10}
2. isalpha
• Descripción: Verifica si un carácter es una letra.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <ctype.h>
3
4int main() {
5 char c = 'b';
6 if (isalpha(c)) {
7 printf("%c es una letra.\n", c);
8 }
9 return 0;
10}
3. isdigit
• Descripción: Verifica si un carácter es un dígito.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <ctype.h>
3
4int main() {
5 char c = '5';
6 if (isdigit(c)) {
7 printf("%c es un dígito.\n", c);
8 }
9 return 0;
10}
4. isspace
• Descripción: Verifica si un carácter es un espacio en blanco (espacio, tabulador,
nueva línea, etc.).
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <ctype.h>
3
4int main() {
5 char c = ' ';
6 if (isspace(c)) {
7 printf("%c es un espacio en blanco.\n", c);
8 }
9 return 0;
10}
5. islower
• Descripción: Verifica si un carácter es una letra minúscula.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <ctype.h>
3
4int main() {
5 char c = 'g';
6 if (islower(c)) {
7 printf("%c es una letra minúscula.\n", c);
8 }
9 return 0;
10}
6. isupper
• Descripción: Verifica si un carácter es una letra mayúscula.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <ctype.h>
3
4int main() {
5 char c = 'G';
6 if (isupper(c)) {
7 printf("%c es una letra mayúscula.\n", c);
8 }
9 return 0;
10}
7. tolower
• Descripción: Convierte un carácter a minúscula.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <ctype.h>
3
4int main() {
5 char c = 'G';
6 char lower = tolower(c);
7 printf("El carácter en minúscula es: %c\n", lower);
8 return 0;
9}
8. toupper
• Descripción: Convierte un carácter a mayúscula.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <ctype.h>
3
4int main() {
5 char c = 'g';
6 char upper = toupper(c);
7 printf("El carácter en mayúscula es: %c\n", upper);
8 return 0;
9}
9. isxdigit
• Descripción: Verifica si un carácter es un dígito hexadecimal.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <ctype.h>
3
4int main() {
5 char c = 'A';
6 if (isxdigit(c)) {
7 printf("%c es un dígito hexadecimal.\n", c);
8 }
9 return 0;
10}
10.isprint
• Descripción: Verifica si un carácter es imprimible.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <ctype.h>
3
4int main() {
5 char c = '!';
6 if (isprint(c)) {
7 printf("%c es un carácter imprimible.\n", c);
8 }
9 return 0;
10}
11.iscntrl
• Descripción: Verifica si un carácter es un carácter de control.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <ctype.h>
3
4int main() {
5 char c = '\n'; // Nueva línea
6 if (iscntrl(c)) {
7 printf("El carácter es un carácter de control.\n");
8 }
9 return 0;
10}
12.isgraph
• Descripción: Verifica si un carácter es un carácter imprimible que no es un espacio.
• Ejemplo:
c
VerifyOpen In EditorEditCopy code
1#include <stdio.h>
2#include <ctype.h>
3
4int main() {
5 char c = '#';
6 if (isgraph(c)) {
7 printf("%c es un carácter gráfico.\n", c);
8 }
9 return 0;
10}