Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - br7

#21
Programación C/C++ / buscar en un fichero c++
21 Noviembre 2013, 00:55 AM
estoy haciendo un progrma q buscar palabras en fichero
pero necesito ayuda con este codigo
lo q necesito es q busqua q lo guarde en un fichero nuevo q creo con el nombre de la palabra q ingreso
ejemplo
primero te pide el nombre del fichero mifichero.txt  el deve estar en donde esta el programas
y despues podide q ingrese la palabra a buscar por ejemplo ingreso en
la buscar y muestra en donde esta y cuantas hay pero lo q buscar quiero q lo guarde en el fichero q creo  con la palabra en solo necesito como es para q yo puede guardar el resultado en ese fichero nuevo


char texto[100000000],arch[1000],letras[100];
int n,sum=0;
int contador = 0, encontrado = 0;
char cadena[256], buscar[100],nombre[25],buscrear[50];
char *a;
FILE *f,*crear;

main()
{
   printf("Ingrese el nombre del archivo del block de notas: ");

f = fopen(gets(arch),"r");
   if(f==NULL)
   {
   perror ("Error al abrir archivo");
   return -1;
   }
printf("\nEL CONTENIDO DEL FICHERO ES :\n\n");
while (fgets(texto,100000000,f) != NULL)
{
   cout<<texto;
}
    if (f != NULL)
    {
            printf("\nIngrese la palabra/frase que desea buscar en el archivo %s:\n\n\t\t\t\t", nombre);
            fflush(stdin);        //limpiar
            scanf("%[^\n]", buscar);
            //scanf("%[^\n]");

            strcpy(buscrear, buscar);  //copia la cadena

            strcat(buscrear,".txt");           //crear archivos
            crear=fopen(buscrear,"a+w");

            rewind(f);     //reguesar

            contador = 0;

            encontrado = 0;

            while (!feof(f))  //retorna diferente de 0
            {
                contador++;

                fgets(cadena,256,f);

                a = strtok(cadena,",.- ");

                while (a != NULL)
                {
                    if (!strcmp(buscar, a))      //comprar
                    {
                       encontrado++;
                     if(encontrado==1)
                     {
                     printf("%s Linea ",a);
                        } //if

                     printf("%d ", contador);

                    }//if
                    a = strtok (NULL, " ");
                }//while   2
            }//while 1
             if(encontrado>=1)
                   {
                   printf(",apareciones total :%d", encontrado);
                   }
                   //arch2.close();
            if (encontrado <= 0)
            {
            printf("\nLa palabra o frase no se encontro en el archivo %s.\n", nombre);
             }
     }
        fclose(crear);
        fclose(f);
getchar();  getchar();
  }

gracias