C++ 获得'\n';从字符串

C++ 获得'\n';从字符串,c++,newline,getline,C++,Newline,Getline,我有一个名为example.txt的文本文件 其内容如下所示: Lorem ipsum dolor sit amet \n hey my name \n is 我打开这个文件,用getline() 但我确实看到了文本文件中的内容 在这种情况下,为什么\n符号不将光标移动到新行?\n不会存储在文件中。将内容放在文本文件的新行中。或者首先用C++编写文件,然后读取。您需要正确的格式才能正确阅读 \n是编程语言中新行的符号。但文件中提到了它是一个文本内容osaysay字符。因为\n代表新行,所以,

我有一个名为example.txt的文本文件

其内容如下所示:

 Lorem ipsum dolor sit amet \n hey my name \n is
我打开这个文件,用
getline()

但我确实看到了文本文件中的内容


在这种情况下,为什么
\n
符号不将光标移动到新行?

\n
不会存储在文件中。将内容放在文本文件的新行中。或者首先用C++编写文件,然后读取。您需要正确的格式才能正确阅读


\n
是编程语言中新行的符号。但文件中提到了它是一个文本内容osaysay字符。因为\n代表新行,所以,如果我们保存文件,
\n
将转换并保存为文本文件中的实际新行。

您的文本文件包含单独的
\
n
字符。与C++代码不同,它不是预处理来将这些代码转换成新行。
您需要在文件中写入真正的换行符,或者在阅读后将字符串
s
中的每个
“\\n”
替换为
“\n”

\n是编程语言中新行的符号。但文件中提到了这是一个文本内容。因为\n代表新行,所以,如果我们保存文件,\n将被转换并保存为文本文件中的实际新行。@RajatJain那么我可以在文本文件中放入任何符号,使我的程序将光标移动到新行吗?或者我的想法是错误的?只需按ENTER键并将内容放到新行。它将被自动读取为
\n
@rajatin我想取一行字符串并将其多行输出,因此,尝试从读取行中删除转义字符“\”。您确实应该避免使用命名空间std-这是一个坏习惯,而且在您不期望的情况下。习惯使用名称空间前缀(
std
故意非常短),或者只将您需要的名称导入到最小的合理范围中。
int main() {
    string s;
    ifstream test;
    test.open("example.txt");
    getline(test,s);
    cout<<s;
}
 Lorem ipsum dolor sit amet
 hey my name
 is