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():
Tabla de Contenidos
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:
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
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:
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
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:
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
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.