|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2003
Città: Rimini
Messaggi: 3392
|
[C] Leggere matrice n*n da file
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?? ![]()
__________________
. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
|
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)
__________________
Il sole è giallo |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2003
Città: Rimini
Messaggi: 3392
|
grazie, provo a smanettare con la strtok
![]() edit: in C nn c'è nulla? con google mi salta fuori che è una funzione di c++
__________________
. Ultima modifica di ::::Dani83:::: : 04-06-2007 alle 17:00. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 2003
Città: Rimini
Messaggi: 3392
|
uppete...
__________________
. |
![]() |
![]() |
![]() |
#5 |
Junior Member
Iscritto dal: May 2007
Città: Bari
Messaggi: 15
|
strtok è una funzione della libreria string del c
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jul 2003
Città: Rimini
Messaggi: 3392
|
Hai ragione... una ricerca su google per l'utilizzo mi aveva tratto in inganno, riprovo e grazie intanto
![]()
__________________
. |
![]() |
![]() |
![]() |
#7 | ||
Senior Member
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
|
Quote:
http://search.opengroup.org/search?a...3CADVANCED/%3E dove digiti la funzione e ti spiega tutto ![]() per esempio, nel primo link trovato pre strtok, c´e´ scritto: Quote:
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve |
||
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Jul 2003
Città: Rimini
Messaggi: 3392
|
Quote:
![]()
__________________
. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:04.