PDA

View Full Version : [C++] Salvare un vector di oggetti in un file


NBAntony
17-04-2015, 16:05
Buonasera :) Scrivo questo post per chiedere aiuto su come posso salvare un vector di oggetti in un file, prima di decidere di scrivere questo post ho provato innumerevoli modi presi da diversi forum ma non ho avuto successo.
Spiego brevemente il tutto e il perchè voglio fare ciò: Sto facendo un progetto universitario per una materia, la mia intenzione è quella di inviare oltre ai codici sorgenti del programma anche un file che che può essere caricato dal professore per poter avere già un vector pieno

Se può aiutarvi questo è parte del codice:


class Vocabolo
{
private:
// Variabili
string parola;
string definizione;
string stato;

...
...

};



class HashTable
{
private:
// Variabili
vector<Vocabolo> vocabolario;
int N;

...
...
};


Come penso sia capibile è che voglio salvare "vector<Vocabolo> vocabolario"
Spero che sia riuscito a spiegare bene il problema :) grazie dell'attenzione

kabot
19-04-2015, 00:25
Può aiutarti? http://www.cplusplus.com/forum/beginner/49924/

[Kendall]
19-04-2015, 21:51
Buonasera :) Scrivo questo post per chiedere aiuto su come posso salvare un vector di oggetti in un file, prima di decidere di scrivere questo post ho provato innumerevoli modi presi da diversi forum ma non ho avuto successo.
Spiego brevemente il tutto e il perchè voglio fare ciò: Sto facendo un progetto universitario per una materia, la mia intenzione è quella di inviare oltre ai codici sorgenti del programma anche un file che che può essere caricato dal professore per poter avere già un vector pieno

Se può aiutarvi questo è parte del codice:


class Vocabolo
{
private:
// Variabili
string parola;
string definizione;
string stato;

...
...

};



class HashTable
{
private:
// Variabili
vector<Vocabolo> vocabolario;
int N;

...
...
};


Come penso sia capibile è che voglio salvare "vector<Vocabolo> vocabolario"
Spero che sia riuscito a spiegare bene il problema :) grazie dell'attenzione

Secondo me la metodologia più naturale e portabile (nel senso che puoi creare dei file facilmente importabili anche da programmi scritti in altri linguaggi) per una simile situazione è quella di generare, dal tuo array di oggetti, una struttura dati con formato json o xml. Il risultato sarà un file di testo, apribile da qualsiasi notepad e semplice da importare nuovamente nel tuo programma.

Ti basta trovare una libreria che faccia al caso tuo, e studiarti brevemente la logica di suddetti formati (per creare semplici strutture dati ti basta poco).

Facendo una rapida ricerca per C++ ho trovato queste:

JSON (https://github.com/open-source-parsers/jsoncpp)
XML (http://rapidxml.sourceforge.net)

ma ne puoi trovare senza dubbio diverse.

NBAntony
20-04-2015, 09:20
;42389927']Secondo me la metodologia più naturale e portabile (nel senso che puoi creare dei file facilmente importabili anche da programmi scritti in altri linguaggi) per una simile situazione è quella di generare, dal tuo array di oggetti, una struttura dati con formato json o xml. Il risultato sarà un file di testo, apribile da qualsiasi notepad e semplice da importare nuovamente nel tuo programma.

Ti basta trovare una libreria che faccia al caso tuo, e studiarti brevemente la logica di suddetti formati (per creare semplici strutture dati ti basta poco).

Facendo una rapida ricerca per C++ ho trovato queste:

JSON (https://github.com/open-source-parsers/jsoncpp)
XML (http://rapidxml.sourceforge.net)

ma ne puoi trovare senza dubbio diverse.

grazie mille per la risposta Kendall :) comunque è probabile che il professore nn lo accetti, anche se sarebbe molto più facile con il metodo che hai consigliato.
Penso che creerò 2 file e userò la getline.
Farò sapere l'esito :)