Acceso a ficheros
Ejercicio 122
Escribir un programa que solicite palabras y las agrege a un fichero llamado c:\diccionario de forma que luego se puedan consultar las palabras una a una
Vale, lo q yo he hecho es un programa que pide al usuario la longitud mínima y maxima de la contraseña y crea todas las palabras posibles. Ejemplo:
min=1, max=2 pues crea un archivo en el que guarda en cada linea todas las palabras posibles desde la cadena a hasta la zz de la forma:
a
b
c
...
ab
ac
ad
...
y así hasta zz
El código que no consigo hacer funcionar es este:
/*
* Ejercicio 122 by ANELKAOS
* Creación de diccionarios de contraseñas para fuerza bruta
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int max, min, i, j;
char cadena[100];
char abcd[38]= "abcdefghijklmnñopqrstuvwxyz0123456789";
int main()
{
printf("\n\n\t******************************************************************\n");
printf("\t*Diccionario de palabras V 0.1*\n");
printf("\t******************************************************************\n");
printf("\n\n\t Introduzca la longitud m%cnima de la contrase%ca: ",161,164);
scanf("%d",&min);
printf("\n\n\t Introduzca la longitud m%cxima (menor que 100) de la contrase%ca: ",160,164);
scanf("%d",&max);
printf("\n\n\t Generando archivo de contrase%cas en C:\\pass.txt...",164);
FILE *pfich;
pfich = fopen("pass.txt", "w");
if(pfich == NULL){
printf("\nERROR al abrir el fichero.");
exit(1);
}
//escibimos en el archivo
for(i=min;i<=max;i++)
{
for(j=0;j<37;j++)
{
cadena[i]=abcd[j];
strcat(&cadena[i],&abcd[j]);
fprintf(pfich, "%s\n", cadena);
}
}
/*terminamos de usar el archivo*/
if(fclose(pfich)!=0){
printf("\nERROR al cerrar el archivo.");
exit(1);
}
printf("\n\n\t Pulse cualquier tecla para SALIR");
getchar();
}
Tengo algo oxidado el tema de cadenas y los archivos...pq le he pegado un repaso en Inet que si no lo mismo. Si alguien que lo tenga fresco me puede echar un cable para hacer funcionar esto se lo agradeceria mucho
1saludo