我喜欢在我的项目中包含 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,
等...
我是一名优秀的程序员,十分优秀!