[C++]Memorizzare file in memoria.

di il
4 risposte

[C++]Memorizzare file in memoria.

Salve a tutti, devo memorizzare il contenuto di un file in memoria, dato che nel corso del mio programma dovrò accedervi molte volte e scrorrerlo un po' in tutti i modi, inoltre ha un numero limitato di righe, ecco un esempio:

ID NOME COGNOME NUMERO
1 Andrea Bianchi 544234234
2 Marco Rossi 423435324
.
.
.
10

Per memorizzarlo ho fatto nel seguente modo:


ifstream mazzoPrincipale
string contentPrinc [10][4]
 int i=0;

  while(!(mazzoPrincipale.eof()))
   {
    mazzoPrincipale>>contentPrinc[i][0]>>contentPrinc[i][1]>>contentPrinc[i][2]>>contentPrinc[i][3]
        i++;
   }
Più avanti nel programma mi trovo a dover prendere una determinata riga di contentPrinc e copiare i valori id e numero in delle variabili di tipo int, devo quindi convertire una stringa in un intero. atoi non posso usarla perchè vuole un const char in ingresso, stoi il compilatore non me la riconosce, pur avendo caricato <string>, stesso discorso istanziando un oggetto istringstream, pur caricando <sstream>.
Come potrei fare a convertire queste stringhe in int e soprattutto: perchè non mi riconosce stoi e istringstream?

4 Risposte

  • Re: [C++]Memorizzare file in memoria.

    Se s è la stringa puoi scrivere

    int x = atoi(s.c_str());
  • Re: [C++]Memorizzare file in memoria.

    Provato. Funziona, grazie mille
  • Re: [C++]Memorizzare file in memoria.

    Non funziona "per magia" ... se avessi letto bene la documentazione della classe

    string

    del C++, avresti risolto da solo ...
  • Re: [C++]Memorizzare file in memoria.

    Sopra ho scritto che ho provato diversi modi, questo significa che ho cercato nelle librerie del c++, ma purtroppo non ho trovato quello che serviva nel mio specifico caso. Chiedo scusa per la domanda troppo banale. La prossima volta cercherò meglio.
Devi accedere o registrarti per scrivere nel forum
4 risposte