a dire il vero non so cosa dovrebbe succedere dopo l'esecuzione del prog. Cosa devo controllare?
a dire il vero non so cosa dovrebbe succedere dopo l'esecuzione del prog. Cosa devo controllare?
Fai una fread in un'altra matrice e controlla se sono uguali ... oppure esamina il file con un editor binario e controlla che contenga tutti i dati ...
non ho capito nulla di quello che hai detto.
cioè io eseguo il programma che consiste nel caricamento e nella visualizzazione di una matrice
poi intendo salvarla su un file di testo.
ora la mia domanda è dove devo andare a vedere se questo file di testo creato e aperto si trova?
Andiamo bene ...Originariamente inviato da lica88
non ho capito nulla di quello che hai detto.
Un attimo ... la fwrite salva la matrice in un file binario ... per salvarla in un file di testo (diciamo un file con estensione .txt) allora devi usare dei cicli con la fprintf ...cioè io eseguo il programma che consiste nel caricamento e nella visualizzazione di una matrice
poi intendo salvarla su un file di testo.
Dato che nella open hai inserito solamente il nome del file (matrice) senza un percorso, il file dovrebbe trovarsi nella cartella in cui c'e' l'eseguibile del programma. Se vuoi, inserisci un percorso assoluto cosi' sai dove si trova ... ad esempio, se lo vuoi creare in C:\ora la mia domanda è dove devo andare a vedere se questo file di testo creato e aperto si trova?
"C:\\matrice"
immagino che nella fprintf va messo qlc di diverso da cio che mettevo nella fwrite
E' come la printf, con un parametro in piu' all'inizio che e' l'handle del file a cui inviare l'output.
Impara a conoscere le funzioni, leggendone l'help
fprintf
http://www.cplusplus.com/reference/c...o/fprintf.html
cosa mi deve comparire nel file di testo?
Ma che domanda e' ?
I valori della matrice, ovviamente ...
Ciao,
forse un esempio ti chiarirà meglio le idee :
nel codice riportato sopra, salviamo una matrice di numeri interi in un file, quindi apriamo il file, leggiamo la matrice e la stampiamo a videocodice:#include <stdlib.h> #include <stdio.h> int _tmain(int argc, _TCHAR* argv[]) { FILE *fp; int mat[3][4]; /* Matrice 3x4 di numeri interi */ int i = 0; char str[3]; /* Inizializzimo la matrice con i numero da 0 a 11 */ for (int y = 0; y < 3; y++) for (int x = 0; x < 4; x++) { mat[y][x] = i; ++i; } /* Apriamo il file per la scrittura */ fp = fopen("matrice.txt", "w"); if ( !fp ) { printf("Errore 1 nell'apertura del file\n"); return -1; } /* Scriviamo la matrice nel file */ fwrite((void*)mat, sizeof(mat), 1, fp); fclose(fp); fp = NULL; /* Apriamo il file per la lettura */ fp = fopen("matrice.txt", "r"); if ( !fp ) { printf("Errore 2 nell'apertura del file\n"); return -1; } fread((void*)mat, sizeof(mat), 1, fp); fclose(fp); fp = NULL; /* Stampiamo a video la matrice letta dal file */ for (int y = 0; y < 3; y++) for (int x = 0; x < 4; x++) { itoa(mat[y][x], str, 10); printf(str); printf("\n"); } return 0; }
![]()
In questo esempio, NON scrivi un file di testo, ma un file binario ...