función sscanf en c

función sscanf en c
En los diversos lenguajes de programación como C, siempre encontramos programas que contribuyan a tomar la entrada del usuario en forma de cualquier valor escrito desde la entrada del teclado, que implica el uso del método Scanf (). Pero existen varios otros programas donde queremos leer los datos formateados desde la otra cadena en lugar de la entrada del teclado. Para tales tipos de lectura de cadenas formateadas de una cadena a otra, usamos el método sscanf (). Esta función sobrescribe el valor en una cadena con la otra cadena, o cuando extrae y rompe una cadena completa en dos cadenas diferentes. Supongamos que tenemos una cadena "Hola al mundo". Rompimos y almacenamos esta cadena en otras tres cadenas y la almacenamos en otra variable; Entonces, podemos usar el método sscanf ().

Procedimiento

Podríamos confundirnos con el uso de las funciones scanf () y sscanf () en la c. Este artículo diferenciará entre estas dos funciones y nos mostrará la sintaxis y el método para implementar el método sscanf () con la ayuda de varios ejemplos. Continuemos con el procedimiento con los siguientes pasos:

Sintaxis
Para implementar el método sscanf (), necesitamos tener un control completo de la sintaxis de este método. Esta función toma los siguientes argumentos que necesitamos entender completamente:

$ int sscanf (const char * string, const char * format, [arg1, arg2, ...]);

En los argumentos del método sscanf (), el primer argumento es el personaje de un tipo de cadena que actúa como una fuente para que la función recupere los datos o, en otras palabras, esto actúa como un búfer. El segundo argumento es el especificador de formato que indica el tipo de datos de los datos que se asignarán, y el último es la lista de argumentos que es tan misma que el método scanf (). En resumen, el método sscanf () se usa específicamente para leer los datos del búfer y almacenar estos datos en las ubicaciones como se define en la lista de argumentos, donde se insta a cada argumento a ser un puntero para la variable con el tipo especificado en la cadena de formato (segundo argumento).

Ejemplo # 01
Implementaremos un programa en este ejemplo para mostrar el funcionamiento del sscanf () para leer las cuerdas. Para trabajar con el método sscanf (), tendríamos que importar los siguientes dos archivos de encabezados en los programas.

$ # incluir
$ # incluir

Las dos bibliotecas con extensión ".H "se representan como archivos de encabezados. Esta primera biblioteca se incluye para usar la información sobre la entrada de lectura y la salida de visualización en el programa. La cuerda ".H "se usa ya que este archivo de encabezado maneja la declaración de las funciones que tratan con cadenas, memoria y constantes. Ahora, en general, declararemos e inicializaremos una cadena de puntero con el tipo de datos Char con su valor asignado como "David Ejecutivo 39". Luego declararemos las otras dos cadenas con nombres, "designación" y "nombre", respectivamente, que tienen el tamaño de memoria igual a diez "10".

También se inicializará otra variable con el tipo de datos entero y la edad de nombre. En el siguiente paso, llamaremos al método sscanf () y leeremos los datos de la cadena Char de tipo de puntero ya declarada e inicializada. La cadena declarada "David Ejecutivo 39" tiene tres elementos diferentes: nombre, edad y designación. Los leeremos siguiendo el mismo procedimiento que scanf (), donde leeremos la información pasando el formato especificador para esa información con su nombre.

Esto se haría en la lista de argumentos del método sscanf () como sscanf (cadena, " %s %s %d", nombre, designación y edad), y luego lo guardaremos en alguna otra variable con tipo de datos como " En t". Después de los pasos, hemos extraído las tres piezas diferentes de información de una cadena. Ahora, mostraremos estos tres elementos en la salida llamando al método printf ().

#incluir
#incluir
int main ()

char* string = "David Ejecutivo 28";
nombre de char [10], designación [10];
int Age, extracto;
extracto = sscanf (cadena, " %s %s %d", nombre, designación y edad);
printf ("Nombre: %s \ n", nombre);
printf ("designación: %s \ n", designación);
printf ("edad: %d \ n", edad);
regresar 0;

La salida muestra que hemos extraído de un búfer de buffer las tres piezas de información y las hemos escrito en las ubicaciones de la lista de argumentos específicos como nombre, designación y edad utilizando el método sscanf ().

Ejemplo # 02
Implementaremos otro ejemplo para el método sscanf () para extraer las cadenas de la otra cadena. Primero, importaremos las bibliotecas requeridas, de la siguiente manera:

$ # incluir
$ #include
$ #include

Estas bibliotecas incluirán automáticamente las funciones necesarias de printf, sscanf y scanf () en el programa. En el ejemplo anterior, habíamos usado la cadena de tipo de puntero a Char to Pointer que actuaba como un búfer o fuente, para que pudiéramos recuperar los datos de ella. Pero, en este ejemplo, simplemente declararemos una cadena usando strcpy (string_name, "cadena"). Luego usaremos esta cadena como el primer argumento del método sscanf () para usarla como un búfer, por lo que se puede leer para extraer la información del strcpy () y almacenarse en la ubicación como se especifica por la lista de argumentos. Una vez que la información se almacena en las ubicaciones de argumentos respectivos utilizando el método sscanf (), mostraremos esa información con nombres y especificadores de formato llamando al método printf ().

#incluir
#incluir
#incluir
int main ()
int día, año;
Char Weekday [20], mes [20], cadena [100];
strcpy (cadena, "Martes 25 de octubre de 2022");
SSCANF (cadena, " %s %s %d %d", día de la semana, mes y día y año);
printf (" %s %d, %d = %s \ n", mes, día, año, día de la semana);
return (0);

Habíamos declarado una cadena usando strcpy con la cadena de nombre como el martes 25 de octubre de 2022, y pasamos esta cadena como la cadena de búfer/fuente a la función sscanf (), que extrajo la información, como un mes, fecha, año, año y día según la lista de argumentos. Luego se muestra esta información extraída, llamando a la función printf ().

Conclusión

El método sscanf () se usa en el lenguaje de programación C para reemplazar una cadena con otra. Para usar esta función, uno debe tener claridad sobre el concepto de la lista de argumentos sscanf (). Este artículo explica claramente el proceso paso a paso, que implica la sintaxis de la función, argumentos requeridos por la función, y donde podemos usar esta función para hacer una buena lógica para nuestros programas de software.