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
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