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