Función strsep en lenguaje c

Función strsep en lenguaje c
Las cadenas son una parte fundamental de la programación porque es posible enviar mensajes al usuario, mostrar los resultados y leer los archivos a través de ellos. También son uno de los métodos de entrada y salida de datos.

El manejo con fluidez de las cuerdas y las funciones que las procesan es muy importante, ya que siempre las usamos en alguna parte del programa que desarrollamos.

En este artículo de Sugerencia de Linux, aprenderá cómo usar la función strsep () para dividir las cadenas basadas en delimitador.

Le mostraremos la sintaxis y la descripción teórica de llamar a la operación de strsep (), sus argumentos de entrada y salida, y los tipos de datos aceptados para cada uno de estos argumentos.

Luego aplicamos lo que aprendimos en los ejemplos prácticos que le muestran cómo implementar la función strsep () para fragmentar las cadenas utilizando los fragmentos e imágenes del código.

Sintaxis de la función strsep () en lenguaje C

char *strsep (char ** restringir stringp, const char *restringir delim);

Descripción de la función strsep () en el lenguaje C

La función strsep () fragmenta una cadena que comienza desde un delimitador preestablecido.
Esta función fragmenta la cadena que apunta por el argumento de entrada StringP y convierte sus fragmentos en nuevas cadenas, todos terminando con un carácter nulo.

Cada nueva cadena comienza en la dirección que se devuelve en el puntero de salida y termina donde el strsep () cumple con el delimitador que se especifica en delimitación. Si la función encuentra un delimitador, lo reemplaza con un carácter nulo, marcando el final de la nueva cadena.

Cuando la función regresa de su llamada, el puntero StringP se establece automáticamente al comienzo del fragmento, siguiendo el carácter delimitador que encontró. De esta manera, el puntero StringP está listo para recuperar el siguiente fragmento en la siguiente llamada de función. Este proceso se repite para cada llamada hasta que strsep () no encuentra más delimitadores y devuelve un puntero nulo como resultado.

Es importante tener en cuenta que esta función modifica irreversiblemente la cadena de entrada reemplazando los delimitadores con caracteres nulos.

La función strsep () se define en la "cadena.encabezado. Para usarlo y las otras funciones de administración de cadenas, debemos incluirlo en nuestro código de la siguiente manera:

#incluir

Cómo separar una cadena en varios fragmentos utilizando la función strsep () en el lenguaje C

En este ejemplo, creamos una cadena que contiene el "Hoy es un gran día para la programaciónFrase y use la función strsep () para fragmentar el contenido y emitir cada una de las cadenas recién obtenidas en una nueva línea en la consola de comando.

El delimitador que usamos en el argumento de entrada deliminar es el carácter espacial (""), por lo que la cadena que apunta por el argumento de entrada StringP está fragmentado por palabra por palabra.

En la función Main (), declaramos la cadena "S_IN" con el "Hoy es un gran día para la programación"Frase y el puntero" in_ptr ". Este puntero es el argumento de entrada StringP de la función strsep ().

También declaramos la "cadena del" con el carácter de espacio, que es el argumento de entrada deliminar de la función strsep () y el carácter delimitador asignado.

Finalmente, declaramos el puntero "O_PTR" que sirve como argumento de salida de strsep (). Este puntero apunta al fragmento recuperado y sirve como argumento de entrada a la función printf () para mostrarlo en la consola de comando.

A continuación, llamamos a la función strsep () pasando el puntero "in_ptr" como el primer argumento, la cadena Del como el segundo argumento y el puntero "O_PTR" como el argumento de salida.

Esta llamada se realiza dentro de un bucle de tiempo donde la condición de escape es que strsep () devuelve un puntero nulo, lo que significa que no hay más delimitadores.

Aquí está el código para este ejemplo:

#incluir
#incluir
vacío principal ()

char s_in [50] = "Hoy es un gran día para la programación";
char del [20] = "";
char* in_ptr = s_in;
charr* o_ptr;
mientras (O_PTR != Nulo)
o_ptr = strsep (& in_ptr, del);
printf ("%s \ n \ n", o_ptr);

Como se ve en la siguiente figura, strsep () separa la palabra "s_in" palabra por palabra, creando una nueva cadena cada vez, cada una mostrada en una nueva línea en la consola de comando:

Conclusión

En este artículo de Sugerencia de Linux, le mostramos cómo usar la función strsep (), que es una de las funciones que se define en la "cadena.H "encabezado para procesar las cuerdas.

Discutimos la explicación teórica de su operación, su sintaxis y su método de llamadas. También le mostramos los argumentos de entrada y salida y el tipo de datos que cada uno acepta.

Para ayudarlo a comprender cómo funciona esta función, también observamos un ejemplo práctico en el que le mostramos cómo declarar los punteros necesarios que se utilizan como argumentos de entrada y salida para esta función utilizando los fragmentos y fragmentos de código que se explican paso a paso Paso, junto con el método de llamada.