View Full Version : [C] Leggere matrice n*n da file
::::Dani83::::
04-06-2007, 14:15
Ciao a tutti, ho perso tutta la mattinata per questa cosa che sulle prime mi pareva più semplice... in sostanza il mio programma deve leggere della matrici quadrate n*n da un file *.dat
1 2 3 4 5 6 7
7 1 2 3 4 5 6
6 7 1 2 3 4 5
5 6 7 1 2 3 4
4 5 6 7 1 2 3
3 4 5 6 7 1 2
2 3 4 5 6 7 1
Di certo so che il n° di colonne e di righe sono equivalenti ma non posso sapere a priori qual'è questo numero quindi non posso fare cicli con fscanf.
So che con fgets posso leggere una riga intera fino alla sua interruzione ma (per quanto sono riuscito a fare io) i numeri vengono trattati come char e non come int quindi se per esempio nel *.dat vado a leggere un "234" con fgets mi ritrovo:
buffer[1]=2
buffer[2]=3
buffer[3]=4
..spunti?? :stordita:
yorkeiser
04-06-2007, 14:33
Puoi leggere la riga e quindi suddividere i numeri che leggi (in base agli spazi) con una strtok(). Per convertire i char in interi basta che usi una funzione di conversione (ad esempio puoi usare la atoi oppure te ne scrivi una tu)
::::Dani83::::
04-06-2007, 16:03
grazie, provo a smanettare con la strtok ;)
edit: in C nn c'è nulla?
con google mi salta fuori che è una funzione di c++
::::Dani83::::
05-06-2007, 10:27
uppete...
CartaIgienica
05-06-2007, 10:50
strtok è una funzione della libreria string del c
::::Dani83::::
05-06-2007, 12:11
strtok è una funzione della libreria string del c
Hai ragione... una ricerca su google per l'utilizzo mi aveva tratto in inganno, riprovo e grazie intanto ;)
trallallero
05-06-2007, 16:03
grazie, provo a smanettare con la strtok ;)
edit: in C nn c'è nulla?
con google mi salta fuori che è una funzione di c++
NB: google non e´ un motore di ricerca per linguaggi di programmazione tantomeno una bibbia. Ci sono siti gratuiti come questo:
http://search.opengroup.org/search?access=p&output=xml_no_dtd&sort=date%3AD%3AL%3Ad1&ie=UTF-8&lr=&client=my_collection&submit.x=7&q=memcpy&submit.y=13&site=my_collection&oe=&proxystylesheet=my_collection&ip=195.37.62.208&proxycustom=%3CADVANCED/%3E
dove digiti la funzione e ti spiega tutto ;)
per esempio, nel primo link trovato pre strtok, c´e´ scritto:
The functionality described on this reference page is aligned with the ISO C standard
::::Dani83::::
05-06-2007, 18:18
NB: google non e´ un motore di ricerca per linguaggi di programmazione tantomeno una bibbia. Ci sono siti gratuiti come questo:
http://search.opengroup.org/search?access=p&output=xml_no_dtd&sort=date%3AD%3AL%3Ad1&ie=UTF-8&lr=&client=my_collection&submit.x=7&q=memcpy&submit.y=13&site=my_collection&oe=&proxystylesheet=my_collection&ip=195.37.62.208&proxycustom=%3CADVANCED/%3E
dove digiti la funzione e ti spiega tutto ;)
per esempio, nel primo link trovato pre strtok, c´e´ scritto:
Aggiunto nei bookmark, denghiu ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.