std::cout 不打印我想要的? [复制]

Posted

技术标签:

【中文标题】std::cout 不打印我想要的? [复制]【英文标题】:std::cout Dosen't Print What I Want? [duplicate] 【发布时间】:2020-08-27 11:49:57 【问题描述】:
void menuWaterMark() 
std::cout << std::endl;
std::cout << " __                  __        __             ______   __            __" << std::endl;
std::cout << "/  |                /  |      /  |           /      \ /  |          /  |" << std::endl;
std::cout << "$$ |        ______  $$ |   __ $$ |   __     /$$$$$$  |$$ | __    __ $$ |____" << std::endl;
std::cout << "$$ |       /      \ $$ |  /  |$$ |  /  |    $$ |  $$/ $$ |/  |  /  |$$     \\" << std::endl;
std::cout << "$$ |       $$$$$$  |$$ |_/$$/ $$ |_/$$/     $$ |      $$ |$$ |  $$ |$$$$$$$  |" << std::endl;
std::cout << "$$ |       /    $$ |$$   $$<  $$   $$<      $$ |   __ $$ |$$ |  $$ |$$ |  $$ |" << std::endl;
std::cout << "$$ |_____ /$$$$$$$ |$$$$$$  \ $$$$$$  \  __ $$ \__/  |$$ |$$ \__$$ |$$ |__$$ |" << std::endl;
std::cout << "$$       |$$    $$ |$$ | $$  |$$ | $$  |/  |$$    $$/ $$ |$$    $$/ $$    $$/" << std::endl;
std::cout << "$$$$$$$$/  $$$$$$$/ $$/   $$/ $$/   $$/ $$/  $$$$$$/  $$/  $$$$$$/  $$$$$$$/" << std::endl;

那么这里的问题是什么?

【问题讨论】:

应该打印什么?它打印什么?你需要告诉我们问题是什么 如果它没有打印出你想要的东西......它会打印什么 反斜杠字符是转义字符,因此要获得单个反斜杠,您需要其中两个来转义反斜杠。或者使用原始字符串文字。 【参考方案1】:

您需要转义\ 字符:

void menuWaterMark() 
std::cout << std::endl;
std::cout << " __                  __        __             ______   __            __" << std::endl;
std::cout << "/  |                /  |      /  |           /      \\ /  |          /  |" << std::endl;
std::cout << "$$ |        ______  $$ |   __ $$ |   __     /$$$$$$  |$$ | __    __ $$ |____" << std::endl;
std::cout << "$$ |       /      \\ $$ |  /  |$$ |  /  |    $$ |  $$/ $$ |/  |  /  |$$     \\\\" << std::endl;
std::cout << "$$ |       $$$$$$  |$$ |_/$$/ $$ |_/$$/     $$ |      $$ |$$ |  $$ |$$$$$$$  |" << std::endl;
std::cout << "$$ |       /    $$ |$$   $$<  $$   $$<      $$ |   __ $$ |$$ |  $$ |$$ |  $$ |" << std::endl;
std::cout << "$$ |_____ /$$$$$$$ |$$$$$$  \\ $$$$$$  \\  __ $$ \\__/  |$$ |$$ \\__$$ |$$ |__$$ |" << std::endl;
std::cout << "$$       |$$    $$ |$$ | $$  |$$ | $$  |/  |$$    $$/ $$ |$$    $$/ $$    $$/" << std::endl;
std::cout << "$$$$$$$$/  $$$$$$$/ $$/   $$/ $$/   $$/ $$/  $$$$$$/  $$/  $$$$$$/  $$$$$$$/" << std::endl;

或者更好地使用原始字符串文字:

void menuWaterMark() 

    auto watermark 
R"(
$$ |        ______  $$ |   __ $$ |   __     /$$$$$$  |$$ | __    __ $$ |____ 
$$ |       /      \ $$ |  /  |$$ |  /  |    $$ |  $$/ $$ |/  |  /  |$$     \\
$$ |       $$$$$$  |$$ |_/$$/ $$ |_/$$/     $$ |      $$ |$$ |  $$ |$$$$$$$  |
$$ |       /    $$ |$$   $$<  $$   $$<      $$ |   __ $$ |$$ |  $$ |$$ |  $$ |
$$ |_____ /$$$$$$$ |$$$$$$  \ $$$$$$  \  __ $$ \__/  |$$ |$$ \__$$ |$$ |__$$ |
$$       |$$    $$ |$$ | $$  |$$ | $$  |/  |$$    $$/ $$ |$$    $$/ $$    $$/
$$$$$$$$/  $$$$$$$/ $$/   $$/ $$/   $$/ $$/  $$$$$$/  $$/  $$$$$$/  $$$$$$$/ 
)"
;

    std::cout << watermark;

现在你不需要转义你的特殊字符,你的图片在代码中也很漂亮

【讨论】:

以上是关于std::cout 不打印我想要的? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

std::cout 一个 null char* 指针如何中止程序? [复制]

如何将ostringstream直接写入cout

在啥情况下你应该更喜欢使用 std::copy 写入 cout?

为啥 for-in 循环不打印我想要的内容? [复制]

字符作为数字打印到 std::cout

c++ - 直接和复制构造函数