C++ 中的 ASCII 艺术

问题描述 投票:0回答:2

我试图将 ASCII art 放入 C++ 程序中,并通过手动打印每一行来实现,但结果与 ASCII art 完全不同。就像:

Enter image description here

出现这种情况是因为提示无法识别字符还是我没有正确操作?

这是我正在尝试做的 ASCII 艺术:

_____/\\\\\\\\\________/\\\\\\\\\\\__________/\\\\\\\\\__/\\\\\\\\\\\__/\\\\\\\\\\\_        
 ___/\\\\\\\\\\\\\____/\\\/////////\\\_____/\\\////////__\/////\\\///__\/////\\\///__       
  __/\\\/////////\\\__\//\\\______\///____/\\\/_______________\/\\\_________\/\\\_____      
   _\/\\\_______\/\\\___\////\\\__________/\\\_________________\/\\\_________\/\\\_____     
    _\/\\\\\\\\\\\\\\\______\////\\\______\/\\\_________________\/\\\_________\/\\\_____    
     _\/\\\/////////\\\_________\////\\\___\//\\\________________\/\\\_________\/\\\_____   
      _\/\\\_______\/\\\__/\\\______\//\\\___\///\\\______________\/\\\_________\/\\\_____  
       _\/\\\_______\/\\\_\///\\\\\\\\\\\/______\////\\\\\\\\\__/\\\\\\\\\\\__/\\\\\\\\\\\_ 
        _\///________\///____\///////////___________\/////////__\///////////__\///////////__

代码:

cout << "_____/\\\\\\\\\________/\\\\\\\\\\\__________/\\\\\\\\\__/\\\\\\\\\\\__/\\\\\\\\\\\_        \n";
cout << " ___/\\\\\\\\\\\\\____/\\\/////////\\\_____/\\\////////__\/////\\\///__\/////\\\///__       \n";
cout << "  __/\\\/////////\\\__\//\\\______\///____/\\\/_______________\/\\\_________\/\\\_____      \n";
cout << "  _\/\\\_______\/\\\___\////\\\__________/\\\_________________\/\\\_________\/\\\_____     \n";
cout << "    _\/\\\\\\\\\\\\\\\______\////\\\______\/\\\_________________\/\\\_________\/\\\_____    \n";
cout << "    _\/\\\/////////\\\_________\////\\\___\//\\\________________\/\\\_________\/\\\_____   \n";
cout << "      _\/\\\_______\/\\\__/\\\______\//\\\___\///\\\______________\/\\\_________\/\\\_____  \n";
cout << "       _\///________\///____\///////////___________\/////////__\///////////__\///////////__\n";
c++ ascii-art
2个回答
27
投票

转义序列被解释为单个特殊字符或其他字符,因此输出很奇怪。例如,"\\"

 表示 
'\'

您可以使用原始字符串文字:

#include <iostream> int main() { std::cout << R"( _____/\\\\\\\\\________/\\\\\\\\\\\__________/\\\\\\\\\__/\\\\\\\\\\\__/\\\\\\\\\\\_ ___/\\\\\\\\\\\\\____/\\\/////////\\\_____/\\\////////__\/////\\\///__\/////\\\///__ __/\\\/////////\\\__\//\\\______\///____/\\\/_______________\/\\\_________\/\\\_____ _\/\\\_______\/\\\___\////\\\__________/\\\_________________\/\\\_________\/\\\_____ _\/\\\\\\\\\\\\\\\______\////\\\______\/\\\_________________\/\\\_________\/\\\_____ _\/\\\/////////\\\_________\////\\\___\//\\\________________\/\\\_________\/\\\_____ _\/\\\_______\/\\\__/\\\______\//\\\___\///\\\______________\/\\\_________\/\\\_____ _\/\\\_______\/\\\_\///\\\\\\\\\\\/______\////\\\\\\\\\__/\\\\\\\\\\\__/\\\\\\\\\\\_ _\///________\///____\///////////___________\/////////__\///////////__\///////////__ )" << '\n'; return 0; }

现场演示


0
投票
它不起作用,因为要显示 1 个反斜杠(),我们需要输入 2,即 (\)。如果您需要的话,这是代码:

#include <iostream>
使用命名空间 std;

int main() { cout

<<"/\\\\\/\\\\\\/\\\\\/\\\\\\/\\\\\ \ "<<
/\\\\\\\
/\\/////////\\/\\/////////\//////\/////\ \///\/////\\/// " <<
/\\/////////\\\//\\
\////\\/\/\\ \/\\ " <<
\/\\
\/\\\////\\__________/\\\/\\\/\ \ " <<
\/\\\\\\\\\////\\\/\\
\/\\ \/\\ " <<
\/\\/////////\\
\////\\\//\\_______\/\\ \/\\ " <<
\/\\
\/\\/\\\//\\\///\\\/\\ \/\\ " <<
\/\\
\/\\\///\\\\\\/\////\\\\\/\\\\\_ /\\\\\\\///________\///<< " \///////////_______\/////////\////////// //\//////////// ”;

return 0;
}

© www.soinside.com 2019 - 2024. All rights reserved.