Sto provando a far girare qualche programma in C, che sto studiando per l'università. Fino ad ora tutto ok, vengo dal PHP e sulle basi (eccetto questo) non ci sono stati intoppi.
Con i file invece è una gran rogna.. nel senso che non riesco veramente a farci molto.
Dopo aver finalmente capito in che cartella andavano piazzati i file da far leggere in fase di debug, mi ritrovo con questo programma di prova che va in errore (le librerie sono così numerose perché il programma iniziale era un po' più corposo.. poi a furia di ricevere risultati sbagliati l'ho ridotto per capire dove potrebbe essere l'errore.. con scarsi risultati):
Il file in questione è molto semplicemente composto in questo modo:codice:#include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct { int Id; char Tipo[16]; int Altezza; int Larghezza; int Prezzo; char Colore[15]; } Mat; int main () { Mat m; FILE *file; if ((file = fopen("materiali.txt", "r"))==NULL) { printf("Impossibile aprire il file"); } fscanf(file, "%d ", &m.Id); fscanf(file, "%16s ", &m.Tipo); fscanf(file, "%d ", &m.Altezza); fscanf(file, "%d ", &m.Larghezza); fscanf(file, "%d ", &m.Prezzo); fscanf(file, "%15s", &m.Colore); fclose(file); printf("%d %s %d %d %d %s", m.Id, m.Tipo, m.Altezza, m.Larghezza, m.Prezzo, m.Colore); getchar(); }
Se provo il programma in debug, mi stampa questo:codice:1 Pavimento 3 4 20 Fucsia
Grazie Mille!codice:0 \377\3761 10 -1880875008 -1073744480
Paolo

Rispondi quotando
