Helló!
Adott egy fájl, soronként pontosan egy számmal, nincs benne whitespace.
Ez a kód működik, attól eltekintve, hogy az utolsó sort kétszer írja ki.
std::ifstream file; file.open(filename.c_str(), std::ifstream::in); if(file.is_open()) { std::string str; while (!file.eof()) { file >> str; std::cerr << str << std::endl; c.push_back(atoi(str.c_str())); } file.close(); } else { std::cerr << "LOAD FROM FILE TO VECTOR ERROR!" << std::endl; }
A probléma forrása az, hogy a std::string str; sor a while ciklus előtt van. Miánt bekerül a ciklus első sorába, a kód a várt eredményt adja.
Nem fér a fejembe, hogy mi az oka, hogy nem jó az első változat! Valaki elmondaná? |