endl не создает новую строку в выходном файле

Это мой код сейчас

#include <iostream>
#include <fstream>

using namespace std;

int main(int argc, char* argv[])
{

// set up input file
ifstream lInput;    // declare an input file variable (object)
ofstream lOutput;
lInput.open(argv[1], ifstream::binary); // open an input file (binary)
lOutput.open(argv[2], ofstream::binary);
if (!lInput.good())
{
    // operation failed
    cerr << "Cannot open input file " << argv[1] << endl;
    return 2;       // program failed (input)
}

lOutput << "test" << endl;
lOutput << "test2" << endl;

Мой текущий вывод

testtest2

Как мне это сделать, чтобы

тестовое задание

test2

Спасибо за помощь

edit: тест для "test" и test2 для "test2" edit2: lOutpt to lOutput

1 ответ

C и C++ имеют два типа файлов: текстовые и двоичные. Двоичные файлы не являются текстовыми. У них нет строк, поэтому у них нет концовок. Если вы хотите разумно поговорить об окончаниях строк и других связанных с текстом вещах, используйте текстовый файл.

Другие вопросы по тегам