在屏幕上打印符号\作为文本

时间:2015-07-27 11:59:31

标签: c++ c++11

我想在运行代码时在我的屏幕上显示以下打印输出:

\begin{tabular}

\hline \\

为此,我在我的代码上使用以下命令:

std::cout<<"\begin{tabular}<< std::endl;

std::cout<<"\hline \\"<< std::endl;

我收到以下编译器消息(关于第二行代码):

unknown escape sequence: '\h'

以及以下不完整的打印输出:

egin{tabular}

hline\

第一句中的"\b"缺失,第二句中缺少第一个和最后一个\

问题是:有没有人知道如何将\符号打印为文本,以便打印出来而不会被解释为命令等?

4 个答案:

答案 0 :(得分:7)

反斜杠在C ++中形成转义序列。您有两种选择:

  1. 将所有反斜杠加倍,la "\\hline \\\\"(反斜杠将自行转义,就像在TeX中一样)。
  2. 使用C ++ 11原始字符串,看起来像R"(\hline \\)"(文本被引号内的parens包围)。

答案 1 :(得分:2)

逃脱它&#39; \#39;。所以,如果你想要打印出来的话,那就是&#39; \你必须做的角色:

cout<<'\\'<<endl;

答案 2 :(得分:2)

如果要将\作为输出中的字符打印,请使用双反斜杠(\),否则,单个\后跟某些字符具有某些特殊字符的固有含义,例如: \ n用于换行符,\ r用于回车符\ t用于制表符等

答案 3 :(得分:2)

加倍所有反斜杠。 例如

std::cout<<"\\hline \\\\"<< std::endl;

反斜杠是C ++中的转义码。 如下所示,&#34; \&#34;转义序列和n是转义码。这意味着换行符。

"hello\n"

所以如果你想打印\,你也需要逃避它。

"hello\\hi"