前言:
现在我们对“c语言统计字数”大体比较关切,看官们都想要剖析一些“c语言统计字数”的相关知识。那么小编同时在网络上网罗了一些有关“c语言统计字数””的相关资讯,希望你们能喜欢,小伙伴们快快来学习一下吧!很多学习者做一开始学习c语言的时候都会有想过处理中文的想法,但找不到方法而放弃,但其实方法十分简单。我们下面进入正题吧。
所有学习C语言的学习者都知道ASCII码,甚至很多初学者都认为C语言所用的就只是ASCII码,只可以使用英文字符。
而ASCII码是用一个字节的长度来表示那些字符,我们常用的char也是一个字节,而我们汉字字数太多不可能用一个字节就全部包含进去。
为了解决这个问题,C语言推出了一种新的类型,叫做 wchar_t。w 是 wide 的首字母,t 是 type 的首字符,wchar_t 的意思就是宽字符类型。wchar_t 的长度由编译器决定:
在微软编译器下,它的长度是 2,等价于 unsigned short;在GCC、LLVM/Clang 下,它的长度是 4,等价于 unsigned int。
wchar_t 类型位于 <wchar.h> 头文件中,它使得代码在具有良好移植性的同时,也节省了不少内存。
下面用例子来告诉你们如何使用
#include <wchar.h>
#include <locale.h>
int main(){
wchar_t a = L'A'; //英文字符(基本拉丁字符)
wchar_t b = L'9'; //英文数字(阿拉伯数字)
wchar_t c = L'中'; //中文汉字
wchar_t d = L'国'; //中文汉字
wchar_t e = L'。'; //中文标点
wchar_t f = L'ヅ'; //日文片假名
wchar_t g = L'♥'; //特殊符号
wchar_t h = L'༄'; //藏文
//将本地环境设置为简体中文
setlocale(LC_ALL, "zh_CN");
//使用专门的 putwchar 输出宽字符
putwchar(a); putwchar(b); putwchar(c); putwchar(d);
putwchar(e); putwchar(f); putwchar(g); putwchar(h);
putwchar(L'\n'); //只能使用宽字符
//使用通用的 wprintf 输出宽字符
wprintf(
L"Wide chars: %lc %lc %lc %lc %lc %lc %lc %lc\n", //必须使用宽字符串
a, b, c, d, e, f, g, h
);
return 0;
}
这里对于新人来说可能比较难懂,所以试着了解一下就好。下面有更加方便的玩法,可以了解一下。使用字符串或者数组来进行存储和处理,
char str1[] = "神奇墨离";
char *str2 = "神奇毛毛";
想不到吧,现在是不是又有些有趣的想法?那么快去自己实践吧,敲代码去吧。再那之前先,收藏,转发,评论,关注。
标签: #c语言统计字数 #中文c语言 #怎么用c语言显示英文字符 #c语言提取汉字