C++ \n 在字符串中(不起作用)

-3 c++ return line

我正在学习C++。这是我的问题。

http://prntscr.com/2m5flm

我创建了一个可以读取像它们一样的 Prop 文件的函数(您可以使用函数设置文件开始和结束标签,使用将返回字符串(包含结果)的函数搜索指定标签。

这是main.cpp

#include <iostream>
#include "m_PFile_r.h"
using namespace std;

int main(int argc, const char * argv[])
{
    m_PFile_r k;
    k.open("prop.arg");
    k.imNotaFag(true);
    k.setOpenArg("$FILE_BEGIN$");
    k.setCloseArg("$FILE_END$");
    string lS;
    lS=k.getArg("launchSentence");
    cout << lS << endl;
    string menu;
    menu=k.getArg("progMenu");
    cout << menu;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么它不打印 \n 作为换行符?

谢谢 :)

wpo*_*r12 5

该文件中有换行符,它们定义了行的结尾。当您在文件中输入换行符时,它不是作为换行符存储在该文件中,而是作为两个单独的字符“\”和“n”存储在该文件中。因此,当您读入文件时,这些字符会像其他字符一样被读入。

你把这个问题过于复杂化了。如果您想向用户打印各种短语,只需将这些短语作为字符串变量包含在程序中即可。

String launchSentence = "This is the launch sentence.";

String progMenu = "Hit 1 For Add Hit 2 for Subtract";

然后可以使用正常的 COUT << progMenu 方法打印这些内容。

如果您使用文本文件的目的是将所有可能的文本字符串隔离在一个简单的位置,为什么不创建一个 TextCommandPrompts.h,用 String(C++ 中的字符)变量填充它并将其包含在您的 main 中?

编辑 - 因为我还不能发表评论,而我想回复一个 - 我认为无论什么文本编辑器让他逐行编写都会把这搞砸。就像,它已经在执行“\n”魔法,当他在字符“\”和“n”中写入时,发生了一些平常的事情,并且它们仍然像常规字符一样。