¿Cómo funciona la función strtok ()??
Para dividir una cadena usando Strtok (), primero necesitas entender cómo funciona. El Strtok () Lee el personaje de cadena de entrada por personaje hasta que se encuentra con un delimitador. Una vez que se encuentra un delimitador, Strtok () lo reemplaza con un carácter nulo '\ 0', dividiendo efectivamente la cadena original en dos partes. La función devuelve un puntero al primer carácter de la cadena. El Strtok () La sintaxis de la función es:
strtok (char* str, const char* delim);El Strtok () La función toma dos argumentos: un puntero al primer token en el conjunto de tokens y una cadena que contiene los caracteres delimitadores. Devuelve un puntero al siguiente token, que comienza inmediatamente después del delimitador que dividió el último token. Devuelve nulo si no hay más tokens.
Cómo dividir cadenas con strtok () en la programación C?
Aquí hay un ejemplo de cómo usar Strtok () Para dividir una cadena:
#incluirEn el ejemplo anterior, primero declaramos un puntero a un char. Luego usamos Strtok () Para dividir la cadena de entrada en tokens. La primera llamada de Strtok () Toma dos argumentos: la cadena de entrada y la cadena delimitadora "",. El primer token, "Linux", es el que Strtok () regresa como un puntero a. Luego usamos un bucle de tiempo para iterar a través de la cadena de entrada, usando Strtok () con un puntero nulo para continuar dividiendo las fichas restantes. La cadena delimitadora se pasa nuevamente como argumento a Strtok () para indicar los caracteres delimitadores.
Producción
Limitaciones de la función Strtok ()
1: modifica la cadena original
El Strtok () La función no devuelve una copia de la cadena; en su lugar, modifica la cadena original. Por lo tanto, si necesita tener una versión no modificada de la cadena después de dividirla, debe hacer una copia de la cadena original antes de invocar Strtok ().
2: Asíncrono
Una limitación significativa de Strtok () es que solo se puede usar en una sola cadena a la vez. En otras palabras, no puede usarlo para tokenizar múltiples cadenas simultáneamente.
3: Capacidad limitada
Otra limitación potencial es que Strtok () tiene una capacidad limitada para manejar delimitadores repetidos. Por ejemplo, si su cadena tiene espacios consecutivos entre palabras, Strtok () lo trata como un solo delimitador. Para manejar tales casos, tendrá que usar un enfoque diferente.
Conclusión
El Strtok () La función es una función muy útil para dividir cadenas en la programación C. Toma una cadena de entrada y una cadena de delimitador y devuelve un puntero al primer token que se encuentra en la cadena de entrada. Strtok () es destructivo, por lo tanto, si necesita preservar la integridad de la cadena original, se recomienda crear un duplicado de ella. Ahora que sabe cómo hacerlo, puede cortar cualquier cuerda en piezas más pequeñas para procesar.