Ciao a tutti, sono nuovo e stavo cercando un forum per il C.. Trovato!
Ho il seguente problema, sto facendo due programmi che usano i File, solo che non ho una competenza altissima sull'uso delle stringhe e puntatori, perchè il nostro professore ci legge le fotocopie e non spiega niente!
Il 1 problema è il seguente: Devo creare una password random ed inserirla dentro un file, e fin qui ci riesco, però se ne inserisco un altra me la crea subito dopo non distinguendole più l'una dall'altra, poi una volta creata una o più pass e messe nel file vorrei riuscire a prenderle dal file e farle leggere a video... L'idea iniziale è con la criptazione in modo che leggendo il file nessuno sappia cosa ci sia scritto, ma prima devo risolvere questo problema di scrittura e lettura!!!
Vi copio il Source cose potete vedere:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
void wait(int seconds) //Function for wait a determinate seconds
{
time_t now, start;
start = now = time (NULL);
while(now < (start + seconds) )
now = time (NULL);
return;
}
int main ()
{
FILE *pFile;
char choice = ' ';
char word [73] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o',
'p','q','r','s','t','u','v','w','x','y','z','1','2','3','4',
'5','6','7','8','9','0','A','B','C','D','E','F','G','H','I',
'J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X',
'Y','Z','0','1','2','3','4','5','6','7','8','9'};
char password[37];
int i, random = 0, len = 0, choose = -1;
srand((unsigned)time(NULL));
//mando il programma in ciclo fino a che l'utente non decide di smettere di generare password
//(rispondendo alla domanda "Do you randomize an other pasword?" con il carattere 'n' oppure 'N')
while (choose != 0)
{
printf("******************************\n"); // 30 asterischi
printf("* *\n");
printf("* DATABASE YOUR PASSWORD *\n");
printf("* *\n");
printf("* Choose an option: *\n");
printf("* *\n");
printf("* 1. Create a new simple *\n");
printf("* Password (Len 1-36) *\n");
printf("* *\n");
printf("* 2. Show all your Pass *\n");
printf("* *\n");
printf("* 0. Exit *\n");
printf("* *\n");
printf("******************************\n");
scanf("%d", &choose);
if (choose == 0)
{
printf("\nProgrammed by Triko, thanks for choosing me!!!");
wait (2); //Imposta il tempo di chiusura dopo aver premuto 0. Default 2!
}
if (choose == 1)
{
//pulisco lo schermo
system("CLS");
//resetto la variabile password (nel caso fosse un secondo ciclo e quindi ci sia ancora in memoria quella precedente
for (i = 0; i < 37; i++)
password[i]=' ';
//chiedo all'utente quando di che lunghezza vuole la password
printf("Insert length of your password (Max length 36): ");
scanf("%d", &len);
printf("\n\n");
printf("Password generata: ");
//generate Password
for (i = 0; i < len; i++)
{
random = rand() % 62 + 1;
password[i] = word[random];
}
//Show Password
for (i = 0; i < len; i++)
printf("%c", password[i]);
printf("\n\n");
//Insert Password in File
//Put in file the password
pFile = fopen ("password.txt", "a");
if ( !feof (pFile) ) //Qui li mette in ordine
{
for(i = 0; i < len; i++)
fprintf(pFile, "%c", password[i]);
}
fclose(pFile);
}
}
}
Grazie a tutti in anticipo per l'aiuto!!!!