04/01/07 16:19
Hunterwolf
ciao! volevo chiedervi informazioni su un altro problema riguardante fstream...
io avrei un array.. per esempio
int a[3]
di valori
a[0] = 3, a[1] = 5 e a[2] = 7
io ero convinto ke utilizzando questo metodo
ofstream esporta ("file.txt");
esporta << a;
esporta.close();
avrei poi potuto assegnare ad un altro array per esempio "b" gli stessi valori dal file così
ifstream importa ("file.txt");
importa >> b;
ritrovando quindi b[0] = 3, b[1] = 5 e b[2] = 7
ma questo non succede... i valori di b risultano completamente sballati... c'è un modo per risolvere questa cosa? grazie in anticipo!!!
se qualcuno riuscisse a postarmi 1 esempio d codice gli sarei davvero grato!
Ultima modifica effettuata da Hunterwolf 04/01/07 16:28
aaa
05/01/07 18:09
Hunterwolf
parte del problema l'ho risolto da solo... c'è sempre però una cosa che non riesco a fare: se io ho un file di testo ad esempio
12
35
246
32
1
..come faccio ad assegnare ad una variabile per esempio la riga 2 di questo file?
scusate ancora la mia ignoranza..penso sia una cosa abbastanza banale ma nn c riesco proprio!
Ultima modifica effettuata da Hunterwolf 05/01/07 18:11
aaa
06/01/07 14:58
netarrow
per importare ed esportare i vettori potresti usare:
#include <fstream>
#include <iostream>
using namespace std;
int main() {
int v[3];
ofstream off("back.txt");
v[0] = 3;
v[1] = 5;
v[2] = 7;
off.write(reinterpret_cast<const char *>(&v), sizeof (v));
off.close();
int importati[3];
ifstream iff("back.txt");
iff.read(reinterpret_cast<char *>(&importati), sizeof (importati));
iff.close();
cout << importati[0] << " " << importati[1] << " " << importati[2] << endl;
}
per quello di trovare la riga giusta potresti usare getline e poi convertire la stringa letta, o un while sull'operatore >>
while(in >> tmp) {
/*
qui metti magari un controllo su un contatore
per sapere a che riga ti trovi e agire
di conseguenze
*/
}
se usi getline il formato è:
getline(flusso, stringa)
dove stringa è la destinazione.
Cmq usando >> hai il vantaggio di avere i dati pronti ad essere inseriti in un intero senza dover fare cast.
Ultima modifica effettuata da netarrow 06/01/07 15:07
aaa