Получение '\n' из строки

У меня есть текстовый файл с именем example.txt.

Его содержимое выглядит примерно так:

 Lorem ipsum dolor sit amet \n hey my name \n is

Я открываю этот файл и беру все строки с getline()

int main() {
    string s;
    ifstream test;
    test.open("example.txt");
    getline(test,s);
    cout<<s;
}

Теперь я хочу увидеть это

 Lorem ipsum dolor sit amet
 hey my name
 is 

Но я точно вижу, что находится в текстовом файле.

Почему \n символ не перемещать курсор на новую строку в этом случае?

2 ответа

Решение

Ваш текстовый файл содержит отдельный \ а также n персонажи. В отличие от вашего кода C++, он не был предварительно обработан, чтобы превратить их в переводы строк.

Вам нужно будет либо написать настоящие символы новой строки в вашем файле, либо заменить каждый "\\n" с "\n" в твоей строке s после того, как вы прочитали это.

\n не хранит как это в файле. Поместите ваш контент в новую строку в текстовом файле. Или сначала напишите файл, используя C++, затем прочитайте. Вам нужно правильное форматирование, чтобы прочитать его правильно.

\n является символом новой строки в языке программирования. Но это упоминается в файле, это текстовый символ. \ N означает новую строку, поэтому, если мы сохраним файл, \n преобразуется и сохраняется как фактическая новая строка в текстовом файле.

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