c ++ getline odczytuje cały plik

Używam std :: getline () do odczytu z pliku tekstowego, linia po linii. Jednak pierwsze wywołanie getline odczytuje cały plik! Próbowałem również określić delimeter jako „n” jawnie. Jakieś pomysły, dlaczego tak się dzieje?

Mój kod:

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

Korzystam z Visual Studio 2008. Plik tekstowy ma 570 linii (oglądam go w Notepad ++ fwiw).

Edytować: Obejrzałem ten problem, używając Notepad ++ do konwersji końców linii w moim pliku tekstowym na zakończenia linii „Windows”. Plik został napisany za pomocą 'n' na końcu każdej linii, przy użyciu kodu c ++. Dlaczego getline () wymaga końcówek linii systemu Windows (r n) ?? Czy ma to związek z szerokością znaków lub implementacją firmy Microsoft?