Правильная идиома чтения строки:
std::ifstream infile("thefile.txt");
for (std::string line; std::getline(infile, line); )
{
// process "line"
}
Или альтернатива для людей, которым не нравятся петли for
:
{
std::string line;
while (std::getline(infile, line))
{
// process "line"
}
}
Обратите внимание, что это работает должным образом, даже если файл не может быть открыт, хотя вы можете добавить дополнительную проверку if (infile)
вверху, если вы хотите создать специальную диагностику для этого состояния.