"La función StrTok () es una función de biblioteca C predefinida que nos permite dividir las cuerdas en múltiples cadenas o cero, el punto más importante al dividir las cadenas para tener en cuenta es que no puede estar vacío o nulo.
Se pasan dos parámetros a la función Strtok () que es responsable de tokenizar la cadena; El primer parámetro es el que contiene la cadena que se debe tokenizar, mientras que el segundo es el delimitador que contiene la palabra clave o carácter que definirá el inicio y el final de la cadena en la que está tokenizado. La función StrTok () ignora la parte delimitadora y simplemente muestra la cadena que está justo al lado del delimitador.
Cada vez que se llama a la función strtok (), se devuelve el puntero al siguiente token, que se denota por una cadena terminada nula. Cuando representa el final de la cadena donde no se descubre ningún token, devolverá nulo."
Sintaxis: M
$ strtok (cadena, token);
En la sintaxis mencionada anteriormente, se pasan dos argumentos: el primer parámetro, "cadena", es la que es la cadena principal que se analizará, mientras que el segundo parámetro, "Token", es el delimitador que definirá la ruptura punto de la cuerda.
Supongamos que cuando la función StrTOK () se solicite por primera vez, comenzará a buscar el delimitador del personaje paso a paso. Como sabemos, las cadenas se almacenan en forma de una matriz que asigna direcciones de memoria consecutivas para almacenar el puntero uno por uno que verificará el delimitador. En caso de que se encuentre el delimitador, dividirá la cadena en segmentos; Si no se encuentra ningún delimitador, buscará el Terminator o el valor nulo, que indicará el punto final de la cadena, entonces devolverá el valor nulo.
Una vez que la cadena se divide, no se puede convertir a su estado original. Para evitar esto, primero tenemos que copiar la cadena en el búfer, y luego pasaremos la dirección del búfer al strtok () para que a través de esto, podamos preservar nuestra cadena original.
Ejemplo 1
En este ejemplo, vamos a implementar la función strTOK () para dividir la cadena única en múltiples segmentos. Pasar a nuestro primer paso en el que, declaramos archivos de encabezado "cadena.H "y" Stdio.H ". Como vamos a trabajar con cadenas, es necesario incluir un archivo de encabezado de cadena a menos que no podamos implementar cadenas. Luego pasar a nuestra función principal, donde declaramos 3 matrices de caracteres que son cadenas [], del [] y la variable de caracteres llamado mi token.
String [] es la matriz de caracteres que es responsable de sostener una cadena de caracteres que se analizarán para dividirla en partes. El Dell [] es la matriz de caracteres constante que funciona como un delimitador, o podemos decir que es el personaje el que definirá el puntero, momento en el que debe romper la cadena; En nuestro caso, el delimitador es "coma". Cuando la tercera variable, MyToken, es responsable de almacenar el valor de retorno de la función Strtok ().
#incluir
#incluir
int main ()
Char String [] = "Mi nuevo proyecto, mi proyecto Strtok";
const char del [] = ",";
char *myToken;
myToken = strtok (string, del);
mientras (myToken != Nulo)
printf (" %s \ n", myToken);
myToken = strtok (nulo, del);
return (0);
Después de declarar con éxito nuestras variables, asignaremos a las variables myToken la función Strtok () en la que pasaremos las variables como el parámetro que ya hemos declarado anteriormente, la matriz de cadenas y la variable delimitadora. Luego creamos un bucle de tiempo en el que pasamos nuestra variable myToken, que contiene el valor de retorno de la función strtok (). Mientras que el bucle verificará la condición que aplicamos; Si el myToken no es nulo, se moverá hacia la parte interna del bucle while; de lo contrario, no mostrará ninguna ejecución.
Supongamos que nuestra condición es cierta; Luego, imprimirá la cadena que se está dividiendo en segmentos. Por otra parte, asignando a myToken una función strtok () en la que ahora pasaremos el elemento nulo y el delimitador. NULL se usa para instruir a la función StrTok () para detener el análisis y el retorno nulo /0 siempre que la cadena finalice, o se descubre una variable nula.
Hasta que se obtenga toda la cadena para los delimitadores y se descompone en cuerdas de acuerdo con el delimitador definido, el bucle While no dejará de funcionar. Imprimirá la cadena justo al lado de cada delimitador y termina siempre que se descubra el delimitador. En nuestro caso, solo usamos un delimitador en nuestra oración, por lo que solo se divide en dos segmentos, como se muestra en la figura a continuación.
Ejemplo 2
En este ejemplo, dividiremos las matrices de cadenas en múltiples segmentos utilizando espacios como nuestro delimitador. En el ejemplo anterior, solo dividimos dos cuerdas en segmentos, pero en esto, usaremos espacios como nuestro delimitador y dividiremos una cadena en múltiples segmentos.
#incluir
#incluir
int main ()
char string [] = "Mi función Strtok en el lenguaje C";
char *strToken;
strToken = strtok (cadena, "");
Mientras (StrToken != Nulo)
printf ("%s \ n", strToken);
strToken = strtok (nulo, "");
regresar 0;
Como se muestra en el código anterior, acabamos de incluir nuestro archivo de encabezado; Después de incluir el archivo de encabezado, pasaremos a nuestra función principal, donde declararemos dos variables de caracteres en las que una será responsable de mantener la cadena y la segunda que será responsable de mantener el valor de retorno de la función Strtok (). En este caso, tenemos la variable "cadena []" que almacena la cadena que se va a dividir, mientras que el "StrToken" se utiliza para almacenar el valor de retorno de la función Strtok ().
Luego llamaremos a la función strtok (), que pasamos a los parámetros, entonces, uno es la cadena que se va a analizar, y la segunda es el delimitador en sí; En este ejemplo, el delimitador es espacio. Como se muestra en la figura a continuación, cada vez que se descubra el espacio, dividirá la cadena en segmentos. El delimitador no se imprimirá la primera letra al final donde se encontrará el próximo delimitador; Imprimirá toda esa cadena entre delimitadores.
Conclusión
En esta guía, hemos estudiado la función StrTok () brevemente, en la que describimos el propósito de la función StrTok (), así como su implementación y cómo dividiremos una sola cadena en múltiples segmentos utilizando una variable de carácter único que es la delimitador. La función strtok () es fácil de usar e interpretar cadenas. El propósito de nuestro artículo es facilitarle aprender la función Strtok () por definición, así como por múltiples ejemplos.