Ho letto e cercato di capire e buttato giù del codice, che funziona....quasi
Praticamente voglio inserire in str quello che stampo a video nelle cout, a sua volta passerò str alla funzione writeFile che la scriverà scriverà su un file.
Purtroppo mi scrive sul file roba cosi:
La squadra x ha schierato:
La suadra x ha schierato:
ID NOME VALORE FORZA DENARO ABILITA'
La suadra x ha schierato:
ID NOME VALORE FORZA DENARO ABILITA'
-------------------------------------------------------------
La suadra x ha schierato:
ID NOME VALORE FORZA DENARO ABILITA'
-------------------------------------------------------------
1 ff 2 3 4 4
La suadra x ha schierato:
ID NOME VALORE FORZA DENARO ABILITA'
-------------------------------------------------------------
1 ff 2 3 4 4
4 fefe 3 3 5 2
anzichè scivermelo in una sola volta.
Ho usato bene la stringstream?
Codice: Seleziona tutto
stringstream fmp;
string str;
cout<<"\n\nLa squadra "<<giocatore->getNome()<<" ha schierato:\n\n";
fmp<<"\n\nLa squadra "<<giocatore->getNome()<<" ha schierato:\n\n";
str=fmp.str();
file->writeFile(str);
cout<<setw(10)<<"ID"<<setw(17)<<"NOME CARTA"<<setw(10)<<"FORZA"<<setw(10)<<"DENARO"<<"ABILITA'\n";
fmp.clear();
fmp<<setw(10)<<"ID"<<setw(17)<<"NOME CARTA"<<setw(10)<<"FORZA"<<setw(10)<<"DENARO"<<"ABILITA'\n";
str.clear();
str=fmp.str();
file->writeFile(str);
cout<<"------------------------------------------------------\n\n";
fmp.clear();
fmp<<"------------------------------------------------------\n\n";
str.clear();
str=fmp.str();
file->writeFile(str);
for(i=0; i<giocatore->getNSchierate(); i++){
cout<<setw(10)<<(temp1+i)->getId()<<setw(17)<<(temp1+i)->getNome()<<setw(10)<<(temp1+i)->getForza()<<setw(10)<<(temp1+i)->getDenaro()<<(temp1+i)->getAbilita()<<endl;
fmp.clear();
fmp<<setw(10)<<(temp1+i)->getId()<<setw(17)<<(temp1+i)->getNome()<<setw(10)<<(temp1+i)->getForza()<<setw(10)<<(temp1+i)->getDenaro()<<(temp1+i)- >getAbilita()<<endl;
str.clear();
str=fmp.str();
file->writeFile(str);
}
cout<<"\n------------------------------------------------------\n";
fmp.clear();
fmp<<"\n------------------------------------------------------\n";
str.clear();
str=fmp.str();
file->writeFile(str);