我喜欢在我的项目中包含ASCII艺术,直到现在我曾经像这样打印它:
printf (R "EOF(
* MMM8&&& *
MMMM88&&&&& .
MMMM88&&&&&&&
* MMM88&&&&&&&&
MMM88&&&&&&&&
MMM88&&&&&&
MMM8&&& *
|\___/|
=) ^Y^ (= . '
\ ^ /
)=*=( *
/ \
| |
/| | | |\
\| | |_|/\
_/\_//_// ___/\_/\_/\_/\_/\_/\_/\_
| | | | \_) | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
)EOF");
有没有像C一样容易使用的替代方案?
只需使用文字字符串。当然,你需要编码一些字符(特别是引号,双引号,反斜杠,换行符等)。
puts(
" * MMM8&&& *\n"
" MMMM88&&&&& .\n"
" MMMM88&&&&&&&\n"
等等。请记住,puts正在附加一个最终换行符(你不想使用printf,因为某些角色,特别是%
,有一个特殊的角色,因为它可能更慢)。如果您不想要最终换行,请考虑fputs。
在C和C ++中,两个(或更多)字符串文字汇集在一个中。
顺便说一句,你也可以生成这样的C代码,或者可能有一些东西可以将任何文件(例如你的ASCII艺术)转换为像
const char data[] = { 0x20,
等等...