Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
void ricaut()
{
string aut;
cout<<"Inserisci l'autore del libro da cercare"<<endl;
cin>>aut;
ifstream f;
ifstream tmp; //imput
string s, temp;
f.open("libri.txt", ifstream::in); //apertura file in lettura
while(f.good()) //fino a quando c'è qualcosa da leggere ..
{
//legge tutta la riga dal file e la mette nella variabile s
getline(f, s);
s=s+".txt";
tmp.open(s.c_str(), ifstream::in);
getline(tmp, temp);
getline(tmp, temp);
temp=del(temp, 8);
int d;
d=aut.length();
temp.resize(d);
cout<<temp<<endl<<aut<<endl;
if(temp==aut)
{
system("cls");
tmp.close();
tmp.open(s.c_str(), ifstream::in);
while(tmp.good()) //fino a quando c'è qualcosa da leggere ..
{
//legge tutta la riga dal file e la mette nella variabile s
getline(tmp, temp);
cout<<temp<<endl;
}
tmp.close();
}
else
{
tmp.close();
}
system("PAUSE");
}
f.close();
}
Questa è una funzione di un programma per la gestione di una libreria e dovrebbe cercare l'autore nel file preso in considerazione dall'elenco dei libri e, se trova l'autore, apre il file del libro e ne visualizza i contenuti.
Problema: una volta finita questa operazione il prompt mi dice che c'è un problema causato dalla funzione length e resize ma non ne capisco il motivo; aiutatemi per favore...