Buscar dentro del texto en C
strchr encuentra un carácter, strstr una subcadena, y ambos devuelven NULL si no está.
#include <string.h>
long index_of(const char *text, char target) {
const char *found = strchr(text, target);
return (found == NULL) ? -1 : (long) (found - text);
}
const char *extension_of(const char *path) {
const char *dot = strrchr(path, '.');
return (dot == NULL || dot == path) ? "" : dot + 1;
}
int contains(const char *haystack, const char *needle) {
return strstr(haystack, needle) != NULL;
}
Cómo funciona
- El valor de retorno es un puntero dentro de la cadena original.
- Restar la base te da el índice.
strrchrbusca desde el final, lo que conviene para extensiones de archivo.
Palabras clave y builtins usados aquí
NULLcharconstintlongreturn
El intento, en números
- Líneas
- 15
- Caracteres a escribir
- 403
- Tokens
- 120
- Ritmo de tres estrellas
- 100 tpm
Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 72 segundos.
Paso 2 de 3 en Comparar y buscar; paso 6 de 13 en Cadenas y texto.