c ++ getline читает весь файл

Я использую std :: getline () для чтения из текстового файла построчно. Тем не менее, первый вызов getline - чтение всего файла! Я также пытался указать разделитель как «\ n»; в явном виде. Есть идеи, почему это может происходить?

Мой код:

std::ifstream serialIn;
...
serialIn.open(argv[3]);
...
std::string tmpStr;
std::getline(serialIn, tmpStr, '\n');
// All 570 lines in the file is in tmpStr!
...
std::string serialLine;
std::getline(serialIn, serialLine);
// serialLine == "" here

Я использую Visual Studio 2008. Текстовый файл имеет 570 строк (я просматриваю его в Notepad ++).

Edit: Я обошел эту проблему, используя Notepad ++ для преобразования концов строк во входном текстовом файле в «Windows». окончания строки. Файл был написан с помощью \ apos; \ n & apos; в конце каждой строки, используя код C ++. Почему getline () требует окончания строки Windows (\ r \ n) ?? Связано ли это с шириной символа или реализацией Microsoft?

Ответы на вопрос(2)

Ваш ответ на вопрос