AD

¿Ya dominas lo básico? Un curso estructurado de C es la vía rápida para dar el salto.

Ver cursos de C en Udemy

Enlace de afiliado. No te cuesta nada extra.

🔧Lecciones de C
Lección 20 / 68

Dividir cadenas (strtok)

En esta lección partirás un texto en trozos usando un separador.

strtok() devuelve el primer trozo en la primera llamada, y los siguientes al llamarla con NULL como primer argumento. Devuelve NULL cuando ya no quedan.

El código de ejemplo separa una lista de frutas por comas y las muestra una a una.

Esta función tiene dos trampas serias. La primera: modifica la cadena original, sustituyendo cada separador por un carácter nulo. Si le pasas un literal de cadena, el programa falla, porque los literales suelen estar en memoria de solo lectura. Hay que trabajar sobre una copia en un array modificable.

La segunda: strtok guarda su posición en una variable interna compartida, así que no se puede usar en dos bucles a la vez ni desde varios hilos. La versión segura es strtok_r(), que recibe esa posición como argumento. En código moderno se usa esa.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar C directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)