PDA

Visualizza la versione completa : [C++] Ciclo while() non eseguito


freetom
20-08-2009, 16:31
#include <iostream>
#include <vector>
#include <sstream>
#include <set>
#include <fstream>
#include <stdlib.h>

using namespace std;

int main (int argc, char *argv[])
{


//LEGGO FILE COMBINAZIONI GENERATE E POPOLO RELATIVO VECTOR...



//PROVA LETTURA RIGA PER RIGA...

string str;
string str2;

vector<string>insiemeA
vector<string>insiemeB;

fstream leggi ("comb1.txt",ios::in);
fstream leggi2 ("comb2.txt",ios::in);


while(!leggi.eof()) //legge fino alla fine del file
{
leggi >> str;
cout << str;
cout << "\n";

insiemeA.push_back(str);
}
leggi.close();


cout << "\n\n - FINE - \n\n";
cout << "\n\n\n";

//cout << "Press ENTER to continue...x CHIUDERE...";
//cout << "\n\n\n";
//cin.get();





while(!leggi2.eof()) //legge fino alla fine del file
{
leggi2 >> str2;
cout << str2;
cout << "\n";

insiemeB.push_back(str2);
}
leggi2.close();


cout << "\n\n - FINE2A - \n\n";


}



Semplicemente non capisco perchè il secondo while non venga minimamente considerato... e perchè il programma termini con il primo FINE anzichè su FINE2A

Qualcuno/a cortesemente riesce per caso a vederne il motivo?

Grazie

:ciauz:

oregon
20-08-2009, 18:51
Se leggi a video la frase con FINE2A allora il secondo file e' vuoto. Se non lo leggi, allora non stai eseguendo il codice che mostri.

freetom
20-08-2009, 19:04
Originariamente inviato da oregon
Se leggi a video la frase con FINE2A allora il secondo file e' vuoto. Se non lo leggi, allora non stai eseguendo il codice che mostri.

A scanso di equivoci.. pensando anche io la stessa cosa ho creato un file con solo questo codice postato ho chiuso dev++ e riaperto e aperto quel file.. però ottengo la stessa cosa:


di leggere al momento dell'esecuzione solo il primo FINE e non quello ultimo... FINE2A (sembra bloccarsi prima... ma durante la compilazione non segnala nessun minimo errore... :dhò: :oVVoVe: :confused: )



Il codice postato è quello dell'intero file oregon.

Ti risulta strano.. anche a te??? :master:

Grazie comunque

:ciauz:

Loading