Visualizzazione dei risultati da 1 a 10 su 10

Discussione: [C] Input di files

  1. #1

    [C] Input di files

    Ciao a tutti,
    vorrei realizzare un programma cher cripta i files txt, ovviamente in C. Ho già realizzato l'algoritmo di criptazione e quello di decriptazione.

    Il mio problema è questo:

    Come faccio con un ciclo a leggere tutte le linee di un file txt e ad assegnarlo ad un vettore di char per poi criptare ogni linea??

    Ho già usato il metodo fopen, ...

  2. #2
    Utente di HTML.it L'avatar di Grunt
    Registrato dal
    Dec 2001
    Messaggi
    246
    Devi dichiarare una stringa leggere riga per riga il file e man mano che cripti scrivi su un nuovo file poi se il file iniziale non ti serve + lo elimini alla fine del processo.
    Prova un po sto codice.....

    codice:
    int main(argc, *argv[])
    
    char buffer[256];
    {
    FILE *fp1,*fp2;
    
    fp1=fopen(pathdelfilesorgente,"r");
    fp2=fopen(pathdelfiledestinazione,"a+");
    
    if((fp1==NULL) || (fp2==NULL))
    {
    printf("Errore apertura file\n");
    exit(1);
    }
    
    while(!feof(fp1))
    {
    fread(buffer,sizeof(buffer),1,fp1);
    ...qui cripti la stringa....
    fwrite(buffer,sizeof(buffer),1,fp2);
    }
    
    fclose(fp1);
    fclose(fp2);
    }
    Se hai prblemi chiedi pure......

  3. #3
    Ti ringrazio moltissimo ... vado subito a provare!!!

  4. #4
    Però alla fine mi inserisce dei caratteri che non c'entrano

  5. #5
    Quando hai finito il programma, potresti provare a postare un pezzo di file criptato con dentro una qualsiasi frase in italiano che provo a craccarlo? Tanto per vedere se l'algoritmo è buono.

  6. #6
    Certo devo solo risolvere il problema dei caratteri che mi aggiunge e poi lo faccio, anzi ti ringrazio , perchè così posso vedere se è efficace. Ciao

  7. #7
    Utente di HTML.it L'avatar di Grunt
    Registrato dal
    Dec 2001
    Messaggi
    246
    Prova ad inserire '\0' (carattere NULL) alla fine della stringa appena letta..... poi prova un debug e vedi che succede.... sinceramente non so se dipende dal tuo criptaggio.... prova un po e fammi sapere.

  8. #8
    Penso il problema sia nel criptaggio....

  9. #9
    ma fread legge una linea o un carattere????

  10. #10
    Utente di HTML.it L'avatar di Grunt
    Registrato dal
    Dec 2001
    Messaggi
    246
    codice:
    fread(buffer,sizeof(buffer),1,fp1);
    buffer: la stringa(di 256 caratteri)
    sizeof(buffer): la dimensione della stringa
    1: legge una volta sizeof(buffer)
    fp1: il puntatore a file

    Quindi fread leggerà giusto 256 caratteri dal file

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.