Я пытаюсь прочитать текстовый файл по одной строке за раз и распечатать каждую строку в окне терминала.Я компилирую на Mac, используя g ++, например, g ++ cpp3.cpp -o cpp3.
Текстовый файл выглядит так:
20100000001 20100000001.xml
20100000002 20100000002.xml
20100000003 20100000003.xml
20100000004 20100000004.xml
Вот мой код:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream ifs("file.txt");
string line;
while(getline(ifs,line)) {
getline(ifs,line);
cout << "[ " << line << " ]" << endl;
}
return 0;
}
Я бы хотел, чтобы вывод выглядел следующим образом:
[20100000001 20100000001.xml]
[20100000002 20100000002.xml]
[20100000003 20100000003.xml]
[20100000004 20100000004.xml]
Однако все выводится на терминал в одной строке.Другими словами, каждая строка из текстового файла написана поверх последней.Кроме того, квадратные скобки «[» и «]», по-видимому, записываются только один раз, поэтому в основном выводится «[», затем все содержимое файла, а затем «]».
Так что этокак выглядит окончательный вывод на терминал:
user$ ./cpp3
]10000000401 20100000004.xml
user$
Может кто-нибудь объяснить, почему это происходит и / или как решить проблему?