PDA

View Full Version : [C++] Problemi di lettura con fstream


zarko
01-06-2009, 17:15
Ciao a tutti,
mi ritrovo davanti a un problema che mi fa sentire un niubbo totale...
Devo fare un programmino che apre un file e lo legge un pezzo per volta, quindi volevo creare una funzione che leggesse dei caratteri ASCII e li memorizza in una variabile, fino a trovare quello specificato, tipo cosi...

#include <fstream>
#include <stdlib.h>
#include <string>

using namespace std;

string header;

void ReadTo(ifstream* fs, char endChar, string* output)
{
bool end = false;
char temp;

for (int i = 0; !end; i++)
{
fs->get(temp);
if (temp == endChar)
end = true;
else
{
//??? output->append(temp);...
}
}
}

int main()
{
ifstream fs("c:\\maya.grgm");

ReadTo(&fs, ';', &header);

fs.close();

cout << header;

system("pause");
}

ma non so come memorizzare il carattere temp nella stringa di output... qualche idea?

Grazie,
Zarko.

vizzz
01-06-2009, 19:30
output += temp;
dovrebbe funzionare

zarko
01-06-2009, 19:32
Grazie mille!
Intanto avevo trovato un altra alternativa... output->append(1, temp) ... mi sarebbe bastato leggere meglio la documentazione :muro: :muro: :muro:

fero86
02-06-2009, 02:07
perché gli oggetti li passi tramite puntatore? passali tramite riferimento, é molto meglio.