Hola, buenas! soy un principiante en esto de programación he estado intentando extraer una clave ingresada por el usuario (Ej: ASDL03002) y buscarla dentro de un fichero para luego mostrar toda la línea donde se encuentre la clave.
Suponiendo este es el contenido de mi fichero:
ASDF01003 Caja de Herramientas
DFTS09886 Caja de Libros
HJKL76543 Caja Vacía
Quiero que el usuario entre por ej la segunda clave (DFTS09886) para buscarla dentro del fichero y que muestre en pantalla: "Clave: DFTS09886 Producto: Caja de Libros" ó "DFTS09886 Caja de Libros" esto es lo que llevo:
#include <stdio.h>
#include<stdlib.h>
#include <string.h>
#define LIMITE 150
int main()
{
int i;
char cadena1 [LIMITE],aux[LIMITE];
printf("Ingrese la clave a buscar: \n");
gets(aux);
FILE* fichero;
fichero = fopen("Claves.txt", "rt");
while(!feof(fichero))
{
i=0;
do
{
fscanf (fichero, "%c", &cadena1);
i++;
}
while (cadena1[i-1]>=32 && cadena1[i-1]<=126);
if(strcmp(cadena1,aux)==0) /*supuestamente aquí comparo ambas cadenas para ver si son iguales pero al parecer no sirve */
{
printf("\nCoincidencia encontrada!\n");
puts(cadena1);
puts(aux);
break;
}
cadena1='\0';
if(i==10)
puts(cadena1);
//Esta parte me commprueba que efectivamente extrae las claves
}
puts("\nProceso completado");
return 0;
}
Siento que mi error está en el bucle que uso para buscar las claves dentro del fichero pero la verdad estoy perdido
PD: El fichero real tiene muchas más líneas (no se si eso sea importante incluso )