Resumen: en este post te mostraré a separar una cadena en subcadenas a partir de un delimitador, usando C y la función strtok
; el equivalente a split
en otros lenguajes.
Gracias a esto podríamos separar una cadena por comas, por puntos, por espacios, etcétera.
Dividir cadena en C por cada espacio, guión, coma, entre otros
En C no existe la función split como en otros lenguajes; en donde simplemente ponemos un delimitador y nos devuelve un arreglo; pero tenemos una función que incluso puede ser más poderosa.
Esta función de la que hablo (la cual se llama strtok) nos permitirá dividir una cadena usando un delimitador; por ejemplo una coma.
A partir de una cadena, podemos usar delimitadores para obtener tokens. Pongamos a la cadena “Hola, qué tal. Vamos a programar en C”; si la separamos usando el espacio, las comillas y los signos de puntuación obtendríamos las palabras limpias.
Por poner otro ejemplo, dada una lista delimitada por comas podemos obtener sus elementos. De “Juan,Pedro,María,Rosa” podemos obtener 4 nombres; usando la coma como delimitador.
(más…)