Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何打印带有诅咒的ASCII表_C_Ncurses - Fatal编程技术网

如何打印带有诅咒的ASCII表

如何打印带有诅咒的ASCII表,c,ncurses,C,Ncurses,我试图打印ASCII表,但显示的字符是^N^O^p^Q^R^S,等等 要制作RPG引擎,我需要将ASCII表放在屏幕上,以便用户选择互动程序 for (i = 0; i < 256; i++){ wprintw(tiles_window, "%c", i); } (i=0;i

我试图打印ASCII表,但显示的字符是
^N^O^p^Q^R^S
,等等

要制作RPG引擎,我需要将ASCII表放在屏幕上,以便用户选择互动程序

for (i = 0; i < 256; i++){
     wprintw(tiles_window, "%c", i);
}
(i=0;i<256;i++)的
{
wprintw(平铺窗口,“%c”,i);
}
然而,正如我所说,这只是显示,
^A^L^C
..

(n)诅咒将显示可打印的信息。它专门处理某些控制字符,如制表符、换行符、回车符、退格符(参见手册页)。每个字符都有一个可打印的表单。您可以为此使用
keyname
,它将控制字符显示为
^A
,等等。但是,通过使用,您可以确保
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-^?
(i=0;i<256;i++)的
{
wprintw(平铺窗口,“%4s”,关键字名称(i));
}
要生产这样的产品:

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-^?
^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-^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-0m-1m-2m-3m-4m-5m-6m-7m-8m-9m-: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-^?

如果我的任务是打印ASCII表而没有明显的目的,我也会说很多脏话。还要注意的是,你必须为不可打印的字符做出规定,如“M(回车,ASCII 13)。建议:请1)明确说明你想做什么(更详细),2)显示一些示例代码(您遇到问题的地方)@JohnColeman:我想知道,如果OP采用文字作业,他的老师会有什么反应…
ncurse
与打印控制字符无关。
ncurse
是为终端功能生成转义序列。我想你想知道的是哪种或哪种类型的终端可以显示控制字符在旧的
DOS
世界中,这样的终端存在于
^D
以黑桃显示的地方。同样,这也是终端代表这些非打印字符的地方。我在回答中指出了这一点。但是,这样做允许您打印
^H
(退格),
^I
(制表符),
^J
(换行符),
^M
(回车)。没有可移植的方法可以为所有256个代码打印单个字符。那么,如何打印?