Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - esportare ed importare array in un file
Forum - C/C++ - esportare ed importare array in un file

Avatar
Hunterwolf (Normal User)
Newbie


Messaggi: 4
Iscritto: 03/01/2007

Segnala al moderatore
Postato alle 17:19
Giovedì, 04/01/2007
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

Codice sorgente - presumibilmente Plain Text

  1. ofstream esporta ("file.txt");
  2. esporta << a;
  3. esporta.close();



avrei poi potuto assegnare ad un altro array per esempio "b" gli stessi valori dal file così

Codice sorgente - presumibilmente Plain Text

  1. ifstream importa ("file.txt");
  2. 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 il 04/01/2007 alle 17:28
PM Quote
Avatar
Hunterwolf (Normal User)
Newbie


Messaggi: 4
Iscritto: 03/01/2007

Segnala al moderatore
Postato alle 19:09
Venerdì, 05/01/2007
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
Codice sorgente - presumibilmente Plain Text

  1. 12
  2. 35
  3. 246
  4. 32
  5. 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 il 05/01/2007 alle 19:11
PM Quote
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 15:58
Sabato, 06/01/2007
per importare ed esportare i vettori potresti usare:

Codice sorgente - presumibilmente C++

  1. #include <fstream>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7.  int v[3];
  8.  ofstream off("back.txt");
  9.  v[0] = 3;
  10.  v[1] = 5;
  11.  v[2] = 7;
  12.  off.write(reinterpret_cast<const char *>(&v), sizeof (v));
  13.  off.close();
  14.  
  15.  
  16.  int importati[3];
  17.  ifstream iff("back.txt");
  18.  iff.read(reinterpret_cast<char *>(&importati), sizeof (importati));
  19. iff.close();
  20.  
  21.  cout << importati[0] << " " << importati[1] << " " << importati[2] << endl;
  22.  
  23.  
  24. }



per quello di trovare la riga giusta potresti usare getline e poi convertire la stringa letta, o un while sull'operatore >>

Codice sorgente - presumibilmente Plain Text

  1. while(in >> tmp) {
  2. /*
  3.  qui metti magari un controllo su un contatore
  4. per sapere a che riga ti trovi e agire
  5.  di conseguenze
  6. */
  7. }



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 il 06/01/2007 alle 16:07



Mai memorizzare quello che puoi comodamente trovare in un libro.
Imparare è un'esperienza; tutto il resto è solo informazione.
L'immaginazione è più importante della conoscenza.
(A. Einstein)


Esistendo poi google...
PM Quote