Función Strsep() en lenguaje C

Las cadenas son una parte fundamental de la programación porque a través de ellas es posible enviar mensajes al usuario, mostrar los resultados y leer los archivos. También son uno de los métodos de entrada y salida de datos. La fluidez con las cadenas y las funciones que operan sobre ellas es muy importante ya que siempre las usamos en alguna parte del programa que desarrollamos. Este artículo de consejos de Linux le muestra cómo usar la función strsep() para dividir las cadenas según el delimitador. Le mostraremos la sintaxis y la descripción teórica de llamar a la operación strsep(), sus argumentos de entrada y salida y los tipos de datos aceptados para cada uno de estos argumentos. Luego, aplicaremos lo que aprendimos en los ejemplos prácticos que le muestran cómo implementar la función strsep() para fragmentar las cadenas usando fragmentos de código e imágenes.

Contenidos

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

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

Descripción de la función Strsep() en lenguaje C

La función strsep() fragmenta una cadena que comienza con un delimitador preestablecido. Esta función fragmenta la cadena a la que apunta el argumento de entrada stringp y convierte sus fragmentos en nuevas cadenas, cada una de las cuales termina en un carácter nulo. Cada nueva cadena comienza en la dirección devuelta en el puntero de salida y termina donde strsep() encuentra el delimitador especificado en delim. 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, después del delimitador encontrado. De esa manera, el puntero stringp está listo para buscar el siguiente fragmento en la siguiente llamada de función. Este proceso se repite con cada llamada hasta que strsep() no encuentra más separadores y devuelve un puntero nulo como resultado. Es importante tener en cuenta que esta función modifica irreversiblemente la cadena de entrada al reemplazar los delimitadores con caracteres nulos. La función strsep() se define en el encabezado string.h. Para usarlo y las otras funciones de administración de cadenas, debemos incluirlo en nuestro código de esta manera:

Cómo dividir una cadena en múltiples fragmentos usando la función Strsep() en el lenguaje C

En este ejemplo, creamos una cadena que contiene la frase «Hoy es un gran día para programar» y usamos la función strsep() para fragmentar el contenido e imprimir cada una de las cadenas recién obtenidas en una nueva línea en la consola de comandos. El delimitador que usamos en el argumento de entrada delim es espacio (» «), por lo que la cadena a la que apunta el argumento de entrada stringp se fragmenta palabra por palabra. En la función main(), declaramos la cadena «s_in» con la frase «Hoy es un gran día para la programación» 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 espacio que es el argumento de entrada delimitador de la función strsep() y el 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 para la función printf() para mostrarlo en la consola de comandos. A continuación, llamamos a la función strsep(), pasando el puntero «in_Ptr» como primer argumento, la cadena del como segundo argumento y el puntero «o_Ptr» como argumento de salida. Esta llamada se realiza dentro de un ciclo while, con la condición de escape de que strsep() devuelve un puntero nulo, lo que significa que no hay más delimitadores. Aquí está el código para este ejemplo: #include #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;while (o_Ptr != NULL){ o_Ptr=strsep( &in_Ptr, del); printf(«%s\n\n», o_Ptr);}} Como se muestra en la siguiente figura, strsep() separa la cadena «s_in» palabra por palabra, creando una nueva cadena cada vez, cada una en una nueva línea mostrada es la consola de mando:

Diploma

En este artículo de consejos sobre Linux, le mostramos cómo usar la función strsep(), que es una de las funciones definidas en el encabezado string.h, para procesar las cadenas. Hemos discutido la explicación teórica de cómo funciona, su sintaxis y su método de llamada. También le mostramos los argumentos de entrada y salida y el tipo de datos que acepta cada uno. Para ayudarlo a comprender cómo funciona esta función, también vimos un ejemplo práctico en el que le mostramos cómo crear los punteros necesarios que se usan como argumentos de entrada y salida para esta función utilizando fragmentos y fragmentos de código declarados paso a paso. paso, junto con el método de llamada.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.