精华内容
下载资源
问答
  • C语言输出汉字

    千次阅读 2019-09-05 15:15:58
    int main() { ... wchar_t arr[] = L"以为可以输出汉字"; wchar_t arr0[] = {L'零', L'壹'}; wchar_t *arr1[] = {L"零啊啊", L"壹啊啊"}; wprintf(L"%s\n", arr); wprintf(L"%c\n", arr[0]); wprintf(...
    #include <stdio.h>
    #include <locale.h>
    
    int main() {
    
    	setlocale(LC_ALL, "chs");
    	wchar_t arr[] = L"以为可以输出汉字";
    	wchar_t arr0[] = {L'零', L'壹'};
    	wchar_t *arr1[] = {L"零啊啊", L"壹啊啊"};
    	wprintf(L"%s\n", arr);
    	wprintf(L"%c\n", arr[0]);
    	wprintf(L"%c\n", arr[1]);
    	wprintf(L"%c\n", arr0[0]);
    	wprintf(L"%c\n", arr0[1]);
    	wprintf(L"%s\n", arr1[0]);
    	wprintf(L"%s\n", arr1[1]);
    	
    	return 0;
    }
    
    展开全文
  • C语言输出汉字的源码

    2011-12-10 09:53:07
    C语言输出任意的汉字的cpp源码。。
  • 先明确下汉字在机内的表示 1.机内码出现的原因: 机内码的出现是为了解决ASCII码和国标码同时使用时产生二义性的问题; 2.机内码的表示: 国标码的机内码为二字节长的代码,它是在相应国标码的每个字节最高位上加“1...

    先明确下汉字在机内的表示
    1.机内码出现的原因:
    机内码的出现是为了解决ASCII码和国标码同时使用时产生二义性的问题;
    2.机内码的表示:
    国标码的机内码为二字节长的代码,它是在相应国标码的每个字节最高位上加“1”,即汉字机内码=汉字国标码+8080H,其高字节由该汉字的区码+A0H,低字节由该汉字的位码+A0H。
    3.汉字16*16点阵:
    在这里插入图片描述
    代码如下:

      #include <graphics.h>
      #include <stdio.h>
      
      int  getbit(unsigned char c,int n)
      {return ((c>>n)&1); 
       }
    
      void puthz16(int qm,int wm)
      {
       long recordnum;
       int i1,i2,i3;
       int py=1,x=200,y=200;
       char by[32];//字符型占一个字节 
       FILE *fp;
       fp=fopen("C:\\计算机图形学\\hzk16","rb");//hzk16为汉字字库文件 
       recordnum=(qm-py)*94+wm-1; //16*16点阵汉字字模的32个字节称为一个记录。由汉字的区位码可求得该字在字库中的记录号。
       recordnum=recordnum*32;//记录号*32,即得到该字在16*16字库中字模的第一字节的位置
       fseek(fp,(long)recordnum,0);
       fread(by,32,1,fp);
       for(i1=0;i1<16;i1++)//i1代表点阵第几行 
           for(i2=0;i2<2;i2++)//i2代表第几个字节 
    	 for(i3=0;i3<8;i3++)//i3代表 
    	 if(getbit(by[i1*2+i2],7-i3))//判断若为1,则进行putpixel画点 
    	    putpixel(x+i2*8+i3,y+i1,WHITE);
        }
        //还可以将汉字放大两倍(根据需要)显示,即一个像素点变成四个像素点
        /*  {
        	putpixel(x+i2*16+2*i3,y+2*i1,WHITE);
    	    putpixel(x+i2*16+2*i3+1,y+2*i1,WHITE);
    	    putpixel(x+i2*16+2*i3+1,y+2*i1+1,WHITE);
    	    putpixel(x+i2*16+2*i3,y+2*i1+1,WHITE);}*/
    
       int main()
       {initgraph(500,500);
        puthz16(16,1);//根据汉字区位码传参 
        getch();
        closegraph();
        return 0;
     }
    
    

    汉字区位表可直接查询到
    字库文件下载

    展开全文
  • char是单字节类型,占8个二进制位,中文字符占两个字节,输出字符串中的单个汉字字符时,不可以直接使用printf("%c",sText[i])语句,这样只是输出汉字字符的前半段,显示在命令行的结果为一个问号。
     1 #include "stdio.h"
     2 #include "windows.h"
     3 
     4 int main()
     5 {
     6     char sText[20] = { "多字节字符串!OK!" };
     7     DWORD dwNum = MultiByteToWideChar(CP_ACP, 0, sText, -1, NULL, 0);
     8     printf("dwNum = %d", dwNum);
     9     for (int i = 0; i < 20; i=i+2)
    10     {
    11         printf("%c%c", sText[i],sText[i+1]);
    12         printf("%d", i);
    13     }
    14     system("pause");
    15     return 0;
    16 }

    char是单字节类型,占8个二进制位,中文字符占两个字节,输出字符串中的单个汉字字符时,不可以直接使用printf("%c",sText[i])语句,这样只是输出汉字字符的前半段,显示在命令行的结果为一个问号。

    展开全文
  • C语言输出一个汉字

    千次阅读 2013-07-14 08:11:18
    C语言输出一个汉字 分类: C++2012-12-18 22:19 390人阅读 评论(3) 收藏 举报 [cpp] view plaincopy char szText[] = "这是几个汉字";  怎么输出其中的一个字呢? ...

    C语言输出一个汉字

    分类: C++ 390人阅读 评论(3) 收藏 举报

    1. char szText[] = "这是几个汉字";  

    怎么输出其中的一个字呢?

    其实,应该这个样子:

    1. printf("%c%c", szText[i], szText[i + 1]);  

    这将会输出一个汉字

    展开全文
  • C语言汉字的存储和输出

    千次阅读 2019-10-26 17:40:49
    C语言汉字的存储和输出 #include<stdio.h> int main() { int b,a=0; char c[]={“我是”}; //在数组存储为{“我”,"\0"},我占据两个字节 b=printf("%s\n",c); //printf返回值为输出长度 ,“我"长度为二,...
  • C语言实现汉字输出以及字库的应用 我用的是HZK16字库,可以自行网上下载 代码如下: #include <stdio.h> #include<windows.h> #define FONT_SIZE (16) /* 字体大小 */ /* 获取汉字汉字库中的...
  • C语言汉字采用的是gb2312编码,每个汉字占两个字节。 printf("%X ",(unsigned char)a[i]); 输出了每个char地址存放的数据的16进制码。 两个char地址存放一个汉字。 所以 你=====C4 E3 好=====BA C3 吗=====...
  • C语言汉字存在数组里并输出

    千次阅读 2020-03-20 16:27:19
    汉字存在数组里,可以定义一个二维数组 比如:char[6][20]={"个","十","百","千","万","十万"}; 输出可以printf("%s",x[1]); 这样就输出了 在这里为什么要用二维数组呢? 因为用char的一维数组来表示字符串,字符...
  • 最近在完成数据结构作业,在代码过程中经常遇到一些小问题,比如在输出字符串数组时,在一串自己想要的字符后面经常会出现一些不知名的汉字乱码。 (这段代码是去除字符数组里面重复数组元素) #include "header....
  • char szText[] = "这是几个汉字"; 怎么输出其中的一个字呢? 其实,应该这个样子: printf("%c%c", szText[i], szText[i + 1]);...这将会输出一个汉字,这么奇葩的形式完全颠覆了我的WinApi知识,囧。
  • 写了C语言实现16点阵方法输出汉字的 不足的讨论
  • c语言从字符串逐个输出汉字 #include <wchar.h> #include <locale.h> //scanf、printf都只能输入、输出不加L的窄字符 //输入、输出宽字符串可以使用 <wchar.h> 头文件中的wscanf、wprintf 函数,...
  • c语言汉字

    2012-10-03 17:12:35
    C语言汉字库,通用的。。编写c语言可以调用汉字库文件,然后汉字输出。不用英语了。希望采纳。。
  • ; margin-right:0pt">输入一个正整数,为总汉字数。再输入一串汉字。统计各汉字出现次数并输出。</p>
  • #include<...[color=#FF0000]我的本意是,在程序中输入任何字符,都能输出‘你好’两个字。我这写法不知道有什么错误,一直运行不起来。 有没有谁可以给我解释一下,我应该怎么写才对,谢谢![/color]
  • 最近在网上看到很多人问,为什么用Linux编译C语言或者C++代码是,汉字输出为乱码。对此问题,网上有很多解决办法,其中有些办法很有效,但对于刚刚接触C语言或者Linux系统的小白来说,部分办法很难理解。下面,逼着...
  • 一般情况下,我们只需要复制这段字串,初始化到一个指针,在做输出就可以显示相应的汉字,这是因为在这段初始化过程中,已经自动将/识别(认为是十六进制),并将每个十六进制放入一个字节中,这...
  • 对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。 [Hint:]从汉字机内码的特点考虑~ Sample Input 2 WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa! 马上就要...
  • 汉字倒序输出(C语言)

    2021-01-01 12:04:49
    我们知道一个汉字是两个字符,我们也会字符的输入输出,但用字符而不是字符串输出汉字你试过吗? 接下来我演示一下: #include<stdio.h> int main() { char Chinese[99]; int i; gets(Chinese);//字符串...
  • char str[]={ 0x1F,0xF8,0x01,0x00,0x7F,0xFE,0x41,0x04,0x1D,0x70,0x01,0x00,0x1D,0x70,0x02,0x80,0x04,0x60,0x1A,0x1E,0xE1,0x08,0x1F,0xE0,0x00,0x40,0x02,0x80,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x...
  • 先直接上结论,汉字实际上有很多种编码,而我们常用... printf(将汉字全部输出:); printf(%s\n,a); printf(尝试输出一个汉字 :); printf(%c\n,a[0]); printf(好像失败了!); printf(模仿汉字占的不是一个字节?\n
  • 输出wchar_t数组中第i个汉字, 以下方式已经被验证不能实现【输出第1个汉字】的效果: <code class="language-cpp">#include<stdio.h> int main(){ wchar_t string[10]; printf("输入一...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 252
精华内容 100
关键字:

c语言输出汉字

c语言 订阅