У меня проблема с файлом чтения, открытым с помощью fstream на окнах.Чтение содержимого файла, открытого с помощью ifstream
Файл открыт успешно, и у него нет ошибок, но цикл с getline не получает контента.
Кроме этого образец работает идеальное и печатает содержание целого файла
std::copy(std::istream_iterator<std::string>(file), std::istream_iterator<std::string>(),
std::ostream_iterator<std::string>(std::cerr, "\n"));
В Linux все является совершенным, тот же самый файл, тот же самый код, GetLine в цикле читает все.
Visual Studio 2013
Edit:
Я забыл упомянуть, что у меня есть эта маленькая строка кода перед циклом с GetLine
std::cout << file.rdbuf();
В Linux эта строка просто печатает содержимое файла , на окнах он не только печатает, но делает файл неприменимым к std::getline
Таким образом, после цикла в то время как при печати 'strings.size()' вы получаете нуль? – NathanOliver
@NathanOliver yep – tty6
Является ли файл текстовым файлом? Является первым символом 0x1A? В Windows есть специальные значения символов или байтов, которые указывают на конец состояния файла. Если ваш файл содержит их в начале *, и вы не открываете файл как двоичный *, ОС Windows вернет конец состояния файла. –