PDA

Visualizza la versione completa : [C++] Scrittura in un file tramite while()


Dando_Sando
01-01-2010, 21:04
Devo leggere le righe di un file di input (file-1) e copiarle in un file output (file2). ma solamente se giÓ non esistono nel file-2.
Ho provato nel seguente modo:

ifstream input_data("./file-1.txt");
ofstream out_data("./file-2.txt", ios::app);
ifstream input_out("./file-2.txt");
string verify;
string parola;
while(getline(input_data, parola)) { // leggo riga per riga il primo file
while(getline(input_out,verify)) { // leggo riga per riga il file che devo scrivere
if(parola!=verify) { // verifico che la riga che devo inserire non esista giÓ
out_data << parola << endl; // aggiungo la riga perchŔ ho verificato che non esiste
}
}
}
out_data.close();
input_out.close();
input_data.close();
cout << "Stringa inserita correttamente." << endl;

file-1

casa
casale

file-2

casa
casale
casetta

Ma non funziona, infatti il file-1 che ad esempio conteneva:

casa
casale
dopo che eseguo il programma contiene

casa
casale
casa
invece nella mia idea dovrebbe contenere

casa
casale
casetta

Loading