Tutoriales

Usando el método fscanf() en C

El método fscanf() en C se usa para leer datos de cualquier archivo. Esta función lee del flujo de datos o, más precisamente, extrae una colección de caracteres de un archivo. Además, este método lee la ruta en formato de byte, analiza los datos según el formato y mantiene la configuración en su parámetro para la salida. Interpreta desde un archivo que también contiene una referencia, es decir, un puntero de archivo, lo que le permite obtener una parte específica del archivo en lugar de la transmisión completa. Echemos un vistazo más de cerca a la función fscanf():

Acceda a los datos personalizados desde una secuencia:

Aquí estamos tomando datos de la secuencia y almacenándolos en las ubicaciones especificadas por los diversos parámetros según la especificación del argumento. Los siguientes parámetros pueden hacer referencia a los elementos de la categoría, que se proporcionan mediante su identificador de formato correspondiente en la cadena de formato ya creada.

En este caso creamos un archivo específico y recuperamos el nombre y el color de la fruta. Tenemos un archivo llamado «file.txt» que creamos como se muestra a continuación:

#Contiene

interno principalmente()

{

EXPEDIENTE *puntero f;

carbonizarse fn[20];

carbonizarse borrar[20];

puntero f = abierto(«Archivo.txt», «w+»);

Cuando (puntero f == CERO)

{

presión(«Archivo no encontrado. \norte«);

devolver ;

}

presión(«nombre de la fruta \norte«);

escanear(«%s», fn);

fprintf(puntero f, «Nombre de la fruta= %s\norte«, fn);

presión(«color de la fruta \norte«);

escanear(«%s», borrar);

fprintf(puntero f, «Color de la fruta = %s\norte«, borrar);

concluir(puntero f);

}

Necesitamos incluir el archivo de encabezado #include a pesar de trabajar con la función fscanf(). Si no incluimos este archivo de encabezado, obtendremos el error. Ahora inicializamos el método main(). Podemos comenzar a programar dentro del cuerpo de esta función.

Primero creamos un constructor «fpointer» para el archivo. También declaramos dos variables «fn» y «clr» con caracteres de tipo de datos. Usamos la función fopen() para abrir el archivo definido. A continuación aplicamos la condición if. Si el archivo definido no existe en el sistema, la función printf() devuelve «Archivo no encontrado».

Además, hemos aplicado diferentes funciones para diferentes propósitos. Usamos la función scanf(). Esta función lee el nombre de la fruta del archivo dado. Luego, la función fprintf() se usa para imprimir el «nombre de la fruta» y almacenarlo en la variable «fn». De manera similar, usamos el método scanf() nuevamente para obtener el color de la fruta del archivo. Esta función fprintf() también se usa para imprimir el «color de la fruta». Ahora el valor del color se almacena en su variable «clr». Al final declaramos la función fclose() para cerrar el archivo definido.

Convertir hexadecimal a decimal:

El método fscanf() devuelve el número de elementos de entrada coincidentes y exactamente coincidentes. Las transiciones que se han realizado pero quizás no se han delegado nunca se incluyen en el valor del resultado. Se utiliza un número entero hexadecimal como entrada para un identificador de conversión %x, como se muestra a continuación:

#Contiene

interno principalmente(Vacío)
{
interno Número;

presión(«Ingrese un número hexadecimal:\norte«);
durante (escanear(«%X»,&Número))
{
presión(«Número hexadecimal = %x\norte«,Número);
presión(«Número decimal = %d\norte«,Número);
}
}

Después de la introducción del archivo de encabezado , definimos la función main(). En el siguiente paso, inicializamos una variable llamada «num» que tiene un tipo de datos entero en el cuerpo de la función main(). La función printf() se usa para obtener un número hexadecimal arbitrario del usuario. Luego usamos el ciclo while. Este ciclo saldrá si el número ingresado no es hexadecimal. Mientras tanto, usamos el método scanf(), que convierte el número hexadecimal en decimal. El signo de porcentaje (%) y el número introducido se pasan como parámetros al método scanf().

Aquí, el signo de porcentaje (%) proporciona los requisitos de conversión. Este identificador de conversión le dice a la función scanf() cómo leer los caracteres de la entrada y convertirlos a datos de cadena de formato convertidos. En la lista de parámetros, el valor se asigna a una de las variables. El método Scanf() lee el archivo especificado de izquierda a derecha. Se espera que las palabras fuera de los parámetros de conversión coincidan con la cadena del flujo de entrada; mientras que las letras relevantes en el archivo de entrada se analizan pero no se guardan.

La función aborta con un error «idéntico» si una palabra en el flujo de entrada contradice el archivo. Si es posible que no se haya leído la palabra en conflicto, se deja en el flujo de datos. Usamos el método printf() nuevamente para imprimir un número hexadecimal y decimal. Estos números se almacenan en la variable num. Como se muestra abajo:

Obtenga el nombre y el estado del empleado:

En este caso leemos los datos del empleado de un archivo. Luego obtenga el nombre y el estado del empleado:

#Contiene

interno principalmente()
{
EXPEDIENTE *puntero f;
carbonizarse bienvenido[30];
carbonizarse estado[30];
puntero f = abierto(«Archivo.txt», «w+»);
Cuando (puntero f == CERO)
{
presión(«No se encontró el archivo. \norte«);
devolver ;
}
presión(«Nombre de empleado \norte«);
escanear(«%s», bienvenido);
fprintf(puntero f, «Nombre = %s\norte«, bienvenido);
presión(«Estado del Empleado \norte«);
escanear(«%s», estado);
fprintf(puntero f, «Estado= %s\norte«, estado);
concluir(puntero f);
}

Antes de escribir el código en el cuerpo de la función main(), debemos incluir el archivo de encabezado . Este archivo de encabezado es necesario tanto para la entrada como para la salida. La función main() ahora está inicializada y creamos un puntero al archivo.

También definimos las variables de tipo de datos de dos caracteres «empname» y «status». Para acceder al archivo requerido, usamos el método fopen(). Mientras tanto, la ruta y el modo del archivo se proporcionan como argumentos para la función fopen(). Entonces usamos la condición if. El comando printf() devuelve «Archivo no encontrado» si el archivo definido no está disponible.

También se utiliza el método scanf(). El nombre del empleado se recupera de este archivo especificado usando esta función. A continuación, la función fprintf() se usa para mostrar el «Nombre del empleado» almacenado en la variable «empname». Asimismo, usamos la función scanf() para obtener el estado del empleado del archivo. El método fprintf() también se usa para mostrar el «Estado del empleado». Esto se almacena en la variable «estado».

Finalmente, definimos el método fclose(), que cierra el archivo específico.

Conclusión:

En este artículo, discutimos el proceso del método fscanf() en C. Usamos el método fscanf() para extraer información de un archivo. Por lo general, contiene dos flujos de argumentos y formatos. También estamos explorando formas de implementar esta función. Esta función es especialmente útil cuando solo necesitamos leer información específica de un archivo y no todo el flujo. Con esta función podemos convertir el valor hexadecimal a un valor decimal. Esperamos que este artículo le haya resultado útil. Consulte los otros artículos de sugerencias de Linux para obtener más sugerencias y tutoriales.

LEER  Cómo escribir ISO directamente en USB usando el comando pv en Linux

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba