Ciao a tutti, sono nuovo del forum (e anche nel campo della programmazione)
sto scrivendo un programma che ad un certo punto deve leggere un file di testo "file.txt".
questo è il sottoprogramma che utilizzo per copiare in una variabile string tutto il contenuto del file:
void read_file(string&file_text)
{
file_text="";
string nomefile="file.txt";
ifstream OpenFile("file.txt"); //*
char ch;
while(!OpenFile.eof())
{
OpenFile.get(ch);
AddCharToString(ch, file_text);
}
OpenFile.close();
}
(il sottoprogramma AddCharToString() serve per convertire un char in string e "attaccarlo" a un'altra string)
void AddCharToString(char ch, string&stringa)
{
string str;
stringstream ss;
ss << ch;
ss >> str;
stringa=stringa+str;
}
funziona tutto bene, l'unico problema è quando il file contiene degli spazi, e allora la stringa che dovrebbe contenere il testo del file lo contiene tutto ma elimina gli spazi.... come faccio a copiare nella string anche gli spazi?
grazie mille a tutti in anticipo!
PS: nella riga di codice dove ho messo il //* perché se nel nome del file scrivo "file.txt" va bene e se metto una variabile string che contiene "file.txt" no?