Oppure

Loading
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