`

c++控制台输出一个汉字的星阵

阅读更多
/////////////////////////////////////////////////////////////////
//首先下载字库,ftp://211.69.16.66/ucdos.exe,解压有个hzk16文件//
/////////////////////////////////////////////////////////////////

#include <stdio.h>
#include <stdlib.h>
FILE *pfile;
unsigned char hanzi[32]; /* 16*16点阵 */
void read_hz(unsigned char hz[2]);
void draw_hz();

int main()
{
    unsigned char str[] = "我的汉字库";
    unsigned char *p = str;
    printf("%s\n",str);

    if(pfile=fopen("hzk16","rb")) /* ucdos的字库文件 */
    {
        while(p<str+strlen(str))
        {
            if(*p>127) /* 汉字 */
            {
                read_hz(p);
                draw_hz();
                p+=2;
            }
            else /* ASCII */
            {
                ++p; /* 忽略ASCII字符 */
            }
        }
        fclose(pfile);
    }
    else
    {
        printf("Can't Open hzk16\n");
    }
    return 0;
}
void read_hz(unsigned char hz[2])
{
    int  qu = hz[0]-0xA0; /* 区码 */
    int wei = hz[1]-0xA0; /* 位码 */
    int offset = (94*(qu-1)+(wei-1))*32;
    fseek(pfile,offset,SEEK_SET);
    fread(hanzi,32,1,pfile);
}
void draw_hz()
{
    int i,j;
    for(i=0;i<16;++i)
    {
        for(j=0x80;j;j>>=1)
        {
            printf("%c ",(j&hanzi[2*i])?'#':' ');
        }
        for(j=0x80;j;j>>=1)
        {
            printf("%c ",(j&hanzi[2*i+1])?'#':' ');
        }
        printf("\n");
    }
    printf("\n\n\n");
}
分享到:
评论

相关推荐

    输出全部汉字的C++程序

    压缩包中的`chinachar`文件可能是一个包含汉字的文本文件,可以用于进一步学习和分析汉字编码,或者作为测试输出汉字功能的数据源。 总结来说,"输出全部汉字的C++程序"是一个结合了C++基本语法、汉字编码概念以及...

    使VC的Console程序控制台输出中文的'按任意键继续'

    使Visual c++的Console程序控制台输出中文的'按任意键继续'

    C++ 输入输出流及本地化

    C++ 输入输出流是C++标准库中的一个核心特性,它提供了一种高效且灵活的方式来处理数据的输入和输出。这一特性使得C++程序能够与各种类型的设备(如显示器、键盘、文件、网络等)进行交互。在C++中,输入输出流主要...

    C++ 自动输入文字(汉字和其他字符)

    下面是一个简单的Windows系统下使用`SendInput`函数模拟输入汉字的例子: ```cpp #include void sendKey(WCHAR key) { INPUT input; input.type = INPUT_KEYBOARD; input.ki.wScan = 0; input.ki.time = 0; ...

    中文输出控制台乱码

    在编程和系统操作中,中文输出控制台乱码是一个常见的问题,尤其是在Windows和Linux等不同操作系统环境下。这个现象通常发生在尝试在命令行界面(如CMD或Terminal)打印包含中文字符的字符串时,显示的字符无法正确...

    C++程序移植及vs远程开发_从windows到linux程序.docx

    7. 中文乱码尽量不要使用中文输出提示信息,或者尝试自行修改文件编码 二、VS 远程连接 Linux 系统进行 C++ 程序开发 1. Vs2017 远程连接 Linux 系统进行 C++ 程序开发方法 * Ip: 10.16.21.6 * 用户名:Test * ...

    Effective C++中文版

    《Effective C++中文版》是Scott Meyers所著的一本经典C++编程书籍,旨在指导开发者如何编写高效且高质量的C++代码。本书涵盖了C++编程中的许多重要议题,包括基础问题、构造和析构、资源管理、类设计和继承等多个...

    C++打印中文字符

    在C++编程中,处理中文字符可能会遇到一些挑战,尤其是涉及到输出到控制台时。由于C++的标准库最初设计时主要关注英文字符集,对于非ASCII编码(如中文的GB2312、GBK或UTF-8等)支持不够直接。在本主题中,我们将...

    安装QtCreator去完成C++第一个程序.pdf

    在这个简单的例子中,`#include &lt;iostream&gt;`引入了标准输入输出流库,`std::cout`用于向控制台输出文本,`std::endl`则添加一个换行符。`main()`函数是每个C++程序的入口点,返回值0表示程序正常结束。 通过Qt...

    C++ Builder写的ZEC 汉字(姓名)生成ASCII字符画 v0.3

    HZK16是一个常见的汉字字模库,它包含了常用汉字的16x16像素点阵信息。程序首先读取HZK16字库,找到输入汉字对应的点阵数据,然后进行下一步处理。 转换过程的关键在于将汉字点阵数据转化为ASCII字符。这通常涉及到...

    C++实现图书管理系统/控制台程序+课件设计+毕业设计

    本项目是一个基于C++编程语言构建的图书管理系统,专为Windows操作系统设计。这个系统提供了一整套完善的图书管理功能,包括查询、添加、删除、借书、还书等,旨在简化图书管理的操作流程。整个程序以纯C++编写,源...

    c++ 中文帮助文档

    `std::string`是C++标准库中的一个关键部分,用于处理文本字符串。它提供了许多方法,如赋值、比较、查找、插入和删除字符等操作。了解`std::string`的细节对于任何C++程序员来说都是至关重要的。 2. **`stdother_...

    C++premier 第四版中文版

    《C++ Premier》可能是一个特定系列的名称,用于标识一系列高级C++教程或教材。 ### 部分内容中的知识点 从可识别的部分来看,这部分内容涉及到了C++的基本概念和语法: 1. **主函数(main function)** - C++程序...

    C/C++处理文本中中文内容

    Windows系统中,可以使用`SetConsoleOutputCP`函数设置控制台输出的代码页,以正确显示中文字符。 综上所述,C/C++处理中文内容涉及到字符编码选择、宽字符处理、字符转换、字符串长度计算以及终端显示等多个方面。...

    安装QtCreator去完成C++第一个程序.docx

    在Windows操作系统中,特别是中文环境下,使用QtCreator可能会遇到一个问题:控制台输出中文字符时出现乱码。这是由于QtCreator默认使用UTF-8编码,而Windows控制台通常期望的是GBK编码。解决这个问题的方法有两种:...

    c++ 读写txt文件和乱码问题解决

    这段代码创建了一个`ifstream`对象,尝试打开名为"example.txt"的文件,然后逐行读取内容并打印到控制台。如果文件未能成功打开,程序会输出错误信息。 接下来,我们讨论如何写入TXT文件。同样,可以使用`ofstream`...

    C++第2课第一个程序

    "C++第2课第一个程序"这个标题暗示我们即将探讨的是初学者在学习C++时遇到的第一个基础程序。通常,这个程序会是一个简单的“Hello, World!”示例,它是每个编程语言教学的起点,帮助新手熟悉语法和编译过程。 C++...

    c++primer第五版习题答案(第12章)

    第12章通常会涉及C++中的输入输出库(I/O库),这是C++编程中必不可少的一部分。在这一章节中,读者可能会遇到以下知识点: 1. I/O流的概念:流是进行输入输出操作的基本抽象,可以看作是字节序列。C++中的标准输入...

    《信息学奥赛一本通·编程启蒙 C++版》题解及视频等 2024.06.08(S).pdf

    - `cout` 和 `endl`: 分别代表控制台输出和换行。 - **意义**: 通过编写第一个程序,可以初步了解C++的基本语法和结构。 #### 1.3 输入输出 - **基本概念**: - **输入** (`cin`): 从控制台读取数据。 - **输出**...

    C++Primer中文版(第4版)完整版

    4. 继承:一个类可以继承另一个类的属性和行为,实现代码复用和类层次结构。 5. 多态性:虚函数和纯虚函数实现多态性,允许不同对象对同一消息做出不同的响应。 6. 封装:通过类隐藏内部实现细节,提供公共接口供...

Global site tag (gtag.js) - Google Analytics