在C++中,如何识别具有许多特殊字符的徽标?

d3p*_*3pd 1 c++ cout escaping

我有一个标识,其中包含许多特殊字符,例如转义字符,我想将其打印到终端.如果没有编译器抛出"未知转义序列"错误,我该怎么办呢?

这是一些示例代码(仅包含一个有问题的字符 - 而不是数百个):

void print_logo();

int main(){
    print_logo();
    return 0;
}

void print_logo(){
    std::cout << "\_ hello _/\n";
}
Run Code Online (Sandbox Code Playgroud)

请注意,手动转义徽标中的所有特殊字符不是一种选择.

ixS*_*Sci 5

原始文字怎么样?

#include <iostream>

int main()
{
    const char* tree = R"===(
      *             ,
                       _/^\_
                      <     >
     *                 /.-.\         *
              *        `/&\`                   *
                      ,@.*;@,
                     /_o.I %_\    *
        *           (`'--:o(_@;
                   /`;--.,__ `')             *
                  ;@`o % O,*`'`&\
            *    (`'--)_@ ;o %'()\      *
                 /`;--._`''--._O'@;
                /&*,()~o`;-.,_ `""`)
     *          /`,@ ;+& () o*`;-';\
               (`""--.,_0 +% @' &()\
               /-.,_    ``''--....-'`)  *
          *    /@%;o`:;'--,.__   __.'\
              ;*,&(); @ % &^;~`"`o;@();         *
              /(); o^~; & ().o@*&`;&%O\
        jgs   `"="==""==,,,.,="=="==="`
           __.----.(\-''#####---...___...-----._
         '`         \)_`"""""`
                 .--' ')
               o(  )_-\
                 `"""` `
    )===";
    std::cout << tree;
};
Run Code Online (Sandbox Code Playgroud)