RISOLTO [C] Leggere file

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.

@daves

Nuovo Utente
Messaggi
4
Reazioni
0
Punteggio
20
Ciao a tutti , premetto che non sono un programmatore e nemmeno un esperto del settore informatico , sono un povero studente di ingegneria alle prese con l'esame di programmazione in C (NON studio elettronica / informatica).
Il problema è il seguente:
vorrei leggere il contenuto di un file di testo e stamparne il contenuto a terminale.
vi allego il codice che ho scritto e file di input (misure).
 

Allegati

E il problema sarebbe...? non lo hai specificato.

Ci sono almeno un paio di errori. Il primo è che leggi il file ma non ne stampi il contenuto.
Il secondo è la riallocazione di memoria, che fai solo quando hai raggiunto il numero CELLE mentre invece devi reallocate ogni volta che hai riempito il vettore allocato fino a quel punto.
 
Ho trovato un altro errore, nella sscanf. Ricorda che devi passare dei puntatori come parametri, uno è corretto, gli altri due no.
Non ti assicuro che io abbia trovato tutti i problemi :)
 
Il problema era solamente quello di cercare di riuscire a leggere correttamente un file.
Il primo errore l'ho capito , il secondo quello di riallocare la memoria non mi e chiaro... a livello di codice che modifiche dovrei fare per allocare quando l'array è pieno ??
 
ti occorre una altra variabile, che tiene conto dell'attuale allocazione. Quando il numero di righe che hai letto e' maggiore, aggiungi CELLE a quel valore e rialloca. Quello che hai fatto va bene solo la prima volta.
 
Ho fatto la modifica , se eseguo la stampa dalla funzione dal main non stampa tutto il contenuto corretto ma parzialmente ...
si verificano diverse righe con questo andamento:

esempio:

0 0 0
0 0 0
01 : 00 1 77
 

Allegati

Non è ancora corretto.
Quando leggi un stringa, passi già il suo puntatore quindi non devi aggiungere il simbolo &. Va bene invece per gli interi della tua struttura. Secondo, quando riallochi usi sempre celle*2 invece della nuova dimensione.
 
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top