我尝试打印ASCII表格,但显示的字符为^N^O^P^Q^R^S
等。
要制作RPG引擎,我需要在屏幕上放置ASCII表,供用户选择图块
for (i = 0; i < 256; i++){
wprintw(tiles_window, "%c", i);
}
但正如我所说,这只是显示^A^L^C
...
答案 0 :(得分:1)
(n)curses将显示可打印的信息。它特别处理某些控制字符,例如制表符,换行符,回车符,退格键(请参阅addch手册页)。每个角色都有可打印的形式。您可以使用keyname
- 它会将控制字符显示为^A
等。但是,使用keyname
,您可以确保addch
可以使用的特殊字符用于定位的是可打印的形式。
您的示例可能如下所示:
for (i = 0; i < 256; i++){
wprintw(tiles_window, "%4s ", keyname(i));
}
生成这样的东西:
^@ ^A ^B ^C ^D ^E ^F ^G ^H ^I ^J ^K ^L ^M ^N ^O
^P ^Q ^R ^S ^T ^U ^V ^W ^X ^Y ^Z ^[ ^\ ^] ^^ ^_
! " # $ % & ' ( ) * + , - . /
0 1 2 3 4 5 6 7 8 9 : ; < = > ?
@ A B C D E F G H I J K L M N O
P Q R S T U V W X Y Z [ \ ] ^ _
` a b c d e f g h i j k l m n o
p q r s t u v w x y z { | } ~ ^?
M-^@ M-^A M-^B M-^C M-^D M-^E M-^F M-^G M-^H M-^I M-^J M-^K M-^L M-^M M-^N M-^O
M-^P M-^Q M-^R M-^S M-^T M-^U M-^V M-^W M-^X M-^Y M-^Z M-^[ M-^\ M-^] M-^^ M-^_
M- M-! M-" M-# M-$ M-% M-& M-' M-( M-) M-* M-+ M-, M-- M-. M-/
M-0 M-1 M-2 M-3 M-4 M-5 M-6 M-7 M-8 M-9 M-: M-; M-< M-= M-> M-?
M-@ M-A M-B M-C M-D M-E M-F M-G M-H M-I M-J M-K M-L M-M M-N M-O
M-P M-Q M-R M-S M-T M-U M-V M-W M-X M-Y M-Z M-[ M-\ M-] M-^ M-_
M-` M-a M-b M-c M-d M-e M-f M-g M-h M-i M-j M-k M-l M-m M-n M-o
M-p M-q M-r M-s M-t M-u M-v M-w M-x M-y M-z M-{ M-| M-} M-~ M-^?