vc中是如何输出汉字

作者&投稿:钮翰 (若有异议请与网页底部的电邮联系)
在VC中如何用C语言输入一个汉字,将汉字给一个变量,使这个变量输出的时候输出汉字?~

可以用unsigned char类型的数组储存汉字,输出时按字符串输出即可
#include int main() { unsigned char s[]="百度一下,你就知道"; printf("%s
",s); puts(s); scanf("%s",s); printf("%s
",s); puts(s); return 0; }

#include #include //取得字符串字符个数,不限中英文 unsigned int GetStringCount(const std::string &s) { short ch; unsigned cnt = ssize(); for(size_t i=0; iVC++如何从中文字符串数组中输出一个汉字

ASCII码是表示字符的基本编码,由于它是8位字节编码,只能表示256个字符。事实上在早期,ASCII是7位,英文的主要字符都小于128,后来扩展到8位,用大于128的编码表示特殊图形标记。

当计算机进入中国后,面临汉字表示的问题,汉字的数目远大于256,于是中国制订GB2312编码。
GB2312是一个兼容7位ASCII的变长字节编码格式。所谓变长是指英文字符仍然使用单字节表示,而中文使用双字节表示,这样在一段中英文混排的文字当中,就有两种不同的字符字节长度。(这种方式给中英文字符处理带来很多麻烦,比如要统计一段文本的字符数,对于英文来说就是文本的字节长度,而对中英文混排就必须用专门的算法一个一个的统计)。
那么GB2312如何区分英文,中文呢?GB2312只兼容7位ASCII编码,不能表示大于128的特殊图形标记。这样英文字符都小于128。而中文则采用大于128的两个字节表示,就不会发生冲突了。当遇到一个小于128的字节时,那就是一个英文字符,当大于128时,就将当前字节以及其后跟随的字节看做一个整体,就是一个中文字符。目前在中文环境下VC中默认使用的编码方式就是GB2312以及扩展编码。GB2312的问题是只能局限于简体中文环境下使用。国际上后来制订了GBK编码,可以同时支持中、日、韩编码,属于局限于东亚的地区性编码。

随着计算机普及,人们越来越需要同时表示多种语言字符。国际上制订了Unicode编码标准,它能同时表达中文、日文、韩文、东西欧、英文等几乎所有文字。
Unicode主要分为UTF-32,UTF-16,UTF-8等类型。其中UTF-32是等长编码,每个字符都用32位4字节表示,但这样带来很大的空间浪费。UTF-16,UTF-8实际上是对UTF-32的改进压缩编码,属变长编码。特别是UTF-8是目前国际上应用最广泛的编码格式,最新的软件开发都应当以UTF-8为基础,以便支持多语言和国际化应用。

一般来说,软件中的文本分为程序文本和用户文本,比如在记事本软件中,菜单和提示框里面的文字都是在软件开发过程中就已经确定的,就是程序文本;用户文本是用户输入的数据,比如记事本中用书写的文章内容。

用户文本是用户使用软件时通过特定的输入法来输入,开发人员只需要将其保存为特定的编码格式就行了。

而程序文本是开发人员要关注的。目前的流行做法是,不推荐将文本以printf(“中文字符!n”);这样的形式直接写到代码中,因为这样以后要更改文本内容,或者支持其他语言提示时,要在整个代码中去修改这些字符串,不便于维护(有个项目,曾动用4名开发人员2周的时间,才把全部中文串替换成英文)。正常的做法是,将这些字符串集中保存在一个文本文件或其他类型资源文件中,需要输出提示时,通过字符串id的方式找到并加载对应的文本,然后再输出。
这样每次支持新的语言时,只要提供一个新的语言资源文件就可以了。

VC中输出汉字一般是用cout<<"你要输出的汉字"<<endl;后面的那endl就相当于C语言中的“\n",换行用的,你说的那printf()这个事C语言风格的,不过VC兼容了C,所以也可以使用。其它的就一个关于输出的跟C语言的几乎是一样的。就只有这输出的方式不一样。

汉字字符...占两个字节..第一个字节 ASCII 小于0 (或者说是大于128)
比如 char a[0]=240; “240是随便写的.
char a[1]=212;
char a[2]=0;
输出 printf(a);可能就会是一个汉字...

你可以在记事本中写上汉字..
按每个字节读取并转化成ASCII后输出就知道这些汉字的ASCII了

我只能提示一点
中文字符是2个字节,16位,
//CString str ="中国";
//char p1 = str.GetAt(0);
//char p2 = str.GetAt(1);
char dd[3] ={-42, - 48};
cout<<dd<<endl;
这么写可以输出“中”字


C语言编程中怎么输入汉字
一个汉字实际上是用一个字符数组中的连续两个元素储存的 例如:char s[2];scanf("%s",s); \/\/\/1、此处不加& 2、此处可用gets(s);for(int i=0;i<2;++i)printf("%c",s[i]);这样可以完整输入输出一个汉字。

c语言中如何同时输出汉子 数字
第一种方法:将汉字和数字全部作为字符输出。第二种方法:将汉字和数字分别输出,汉字作为字符。你的问题不太明白,不知道你的编译器是什么:如果是Win-TC,那么输出汉字就需要在变量定义之后,所有其他语句之前,加两条语句:system("graftabl 936");clrscr();这样就能输出中文。

C语言如何输出字符串中的汉字?
include<stdio.h>int main(){int i;char a[2][4]={"a张","b三"};for(i=0;i<2;i++)printf("%s\\n",&a[i][1]);return 0;}只要把汉字当字符串输出就行了!

如何在C 语言中输入输出汉字?(一般的printf,gets,getchar,scanf,puts,p...
char只是一个字节,而一个汉字是两个字节,所以你无法通过一个char来输出一个汉字。你可以尝试把一串汉字放在一个数组中,你会发现数组的长度是汉字数量的2倍,然后输出数组的单个元素,你会发现出来的都是乱码。

C语言中怎么用printf输出汉字
开中文DOS环境,你的程序就可以输出中文。 (Win-TC 1.91自带中文环境,可以下载用一下。)英文DOS环境,你看到的是乱码。没有中文环境,用printf不能输出汉字 一种取巧的办法是,自己构造"你好"的点阵字模(也可以使用现成的点阵汉字库),然后用printf("@")输出点阵,可以看到巨大的"你好"图形模式...

c语言,请大神赐教,汉字字符串数组赋值指针数组后的如何输出单个...
i=0,j=0;i<len;i+=2,j++) { words[j][0]=str[i]; words[j][1]=str[i+1]; words[j][2]=0; } printf("输出单个汉字,2个字符为一个汉字:\\n"); for(i=0;i<len\/2;i++) printf("%s\\n",words[i]);...

c语言编程如何输出汉字
如果想要用C语言编程时输出汉字,可以用以下几种方法:1.最值得推荐的一种。摒弃TC,改用为WINDOWS编程设计的Visual C++,或者C++ Builder,lcc等。用这几种工具的话,在代码中可以直接输入汉字。编译出来的是32位windows程序不存在兼容问题。2.改用98以前的操作系统。3.装个虚拟机,在虚拟机中装上DOS...

C语言中如何用编码输出中文字符?
一个字节肯定不够用,最多才256个汉字嘛。另外,好像还有很多种编码方式,如ASCII\\UNICODE等。祝你学得愉快。所以 char chinese[]="中华人民共和国";printf("字符串长度=%d\\n",strlen(chinese));\/\/输出的长度为14。如果你只是单纯地想实现输出某些中文的变量的话,可以从文本文件中读出来。

C语言输入汉字输出汉字
举个例子吧:include <stdio.h> include <stdlib.h> define sz 300 int main(){ char st[sz]; \/\/定义一个字符数组用来存取 printf ("please input");scanf("%s",st); \/\/将取得的字符放入ST数组 printf("%s\\n",st);system ("PAUSE");return 0;} ...

c语言如何输入中文,然后打印到控制台上另一段中文
c语言如何输入中文,然后打印到控制台上另一段中文 比如输入『你叫什么名字』,然后控制台打印出『我叫张三』,输入『你是男是女』,控制台打印『男』而且这个可以循环运行,可以一直输入指令,然后控制台返回相应的汉字... 比如输入『你叫什么名字』,然后控制台打印出『我叫张三』,输入『你是男是女』,控制台...

蝶山区17539311967: vc中是如何输出汉字 -
封玲护肝: ASCII码是表示字符的基本编码,由于它是8位字节编码,只能表示256个字符.事实上在早期,ASCII是7位,英文的主要字符都小于128,后来扩展到8位,用大于128的编码表示特殊图形标记.当计算机进入中国后,面临汉字表示的问题,汉字...

蝶山区17539311967: 哥们、、如何在vc6.0中输出中文字符, -
封玲护肝: # include <stdio.h> int main(void) {printf("你好!\n");return 0; } 这个就是最简单的输出中文了

蝶山区17539311967: vc6.0怎么能输出文字 -
封玲护肝: 调用printf函数!例如:#includeint main(){ printf("我 爱 你!"); return 0;}

蝶山区17539311967: 在VC中如何用C语言输入一个汉字,将汉字给一个变量,使这个变量输出的时候输出汉字? -
封玲护肝: #include <stdio.h> #include <stdlib.h> void main() {char T[20];scanf("%s",T);printf("I love you:%s\n",T);system("pause"); // 让屏幕停留,这样你的妞就可以看到了.:) }

蝶山区17539311967: 就想问一下,用vc写程序的话如何在不输入汉字的情况下输出汉字,比如“窈窕淑女,君子好逑” -
封玲护肝: 开中文DOS环境,你的程序就可以输出中文.(Win-TC1.91自带中文环境,可以下载用一下.)英文DOS环境,你看到的是乱码.没有中文环境,用printf不能输出汉字一种取巧的法是,自己构造"你好"的点阵字模(也可以使用现成的点阵汉字库),然后用printf("@")输出点阵,可以看到巨大的"你好"图形模式下可以使用点阵汉字库输出中文,不过那不是用printf实现的

蝶山区17539311967: 怎么在VC6.0控制台下输入中文 -
封玲护肝: 能直接输入中文,点选一下输入法就OK了.

蝶山区17539311967: vc能直接输入输出汉字吗? -
封玲护肝: VC是windows下的程序开发工具,支持C++(完全包含C语法规则),它支持中文,不过有的汉化版本很垃圾,对中文显示不怎么好,本身汉化的都有Bug,我一直用的英文版的VC++6.0 sp6,很稳定,能正常输入中文.TC是很古老的DOS下的C编译器,因为DOS系统不支持中文,在windows下用的TC编出来的程序都是在虚拟DOS下运行的,程序中的中文字符会显示乱码.

蝶山区17539311967: VC++编译CMD下运行的程序怎么弄汉字 -
封玲护肝: 没有任何问题 放心的输吧 不过记住一个汉字要两个字节来存

蝶山区17539311967: 在C++中如何实现汉字的输入和输出? -
封玲护肝: #include using namespace std; void main() { wchar_t w[100]; //必须定义成数组才可以 wcin>>w; wcout<<}

蝶山区17539311967: C语言怎么打印汉字? -
封玲护肝: 1、中文字符串可以使用printf()、puts()等函数直接输出.#include #include int main() { const char str[] = "这里全是中文"; printf("\n输出字符数:%d\n", printf(str)); puts(str); return 0; }2、单个中文字符,需要进行本地化设置,需要使用宽字符版的printf()即wprintf输出. #include #include int main() { setlocale(LC_ALL, "chs"); wchar_t wc = L'中'; wprintf(L"%c\n",wc); return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网