注册 登录
编程论坛 C++教室

有关ASCII的输出

zsh981022984 发布于 2016-04-29 11:25, 4464 次点击
怎样将ADSII值大于127的字符输出来啊
3 回复
#2
rjsp2016-04-29 12:39
唯一正确的答案是:直接输出,和不大于127的字符一样操作
#include <stdio.h>
int main( void )
{
    for( int c=0; c!=256; ++c )
        putchar( c );

    return 0;
}

而终端采用什么字体怎么显示就不是C/C++应该关心的事,也不知道你听懂了没

#include <windows.h>
#include <tchar.h>
#include <stdio.h>

int main(void)
{
    HKEY key;
    if( ERROR_SUCCESS == RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("SYSTEM\\CurrentControlSet\\Control\\Nls\\CodePage"),0,KEY_QUERY_VALUE,&key) )
    {
        TCHAR value[200];
        DWORD len;
        for( DWORD index=0; len=_countof(value), ERROR_SUCCESS==RegEnumValue(key,index,value,&len,NULL,NULL,NULL,NULL); ++index )
        {
            errno = 0;
            TCHAR* pend;
            unsigned long cp = _tcstoul( value, &pend, 10 );
            if( errno==0 && *pend==TEXT('\0') )
            {
                printf( "CodePage = %lu\n", cp );
                UINT oldcp = GetConsoleOutputCP();
                SetConsoleOutputCP( cp );

                for( int c=0; c!=256; ++c )
                    putchar( c );

                SetConsoleOutputCP( oldcp );
                putchar( '\n' );
            }

            //system( "pause" );
        }
        RegCloseKey( key );
    }

    return 0;
}


[此贴子已经被作者于2016-4-29 12:43编辑过]

#3
Theunkown2016-04-29 17:50
贼复杂了
#4
ASCIIhaohe2016-05-03 15:09
看设备了吧。。。手机用C4droid怎么都输出不了
1