elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Comparación de palabras en C en: 3 Junio 2017, 22:39 pm
Hola, buenas! soy un principiante en esto de programación  :xD  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  :silbar:
PD: El fichero real tiene muchas más líneas (no se si eso sea importante incluso  ;D )
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines