美文网首页C语言
c语言怎么用变量存储中文字符?书本上面没有的秘密

c语言怎么用变量存储中文字符?书本上面没有的秘密

作者: 明江带你学c语言 | 来源:发表于2018-06-10 20:33 被阅读5次

很多学习者做一开始学习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 类型位于 头文件中,它使得代码在具有良好移植性的同时,也节省了不少内存。

下面用例子来告诉你们如何使用

#include

#include

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语言的时候都会有想过处理中文的想法,但找不到方法而放弃,但其实方法十分简单。我们下面进入正...

  • 字符'0'和'\0',及整数0的区别

    以下内容以c语言为标准; 字符型char和整型int; 字符型变量用于存储一个单一字符,在 C 语言中用 char...

  • iOS 面试题集-03

    1、C语言中static变量和static函数有什么用: 1>、表示变量是静态存储变量,表示变量存放在静态存储区。...

  • 2018-05-13

    C语言:c语言中没有字符串类型,也没有字符串变量,字符串是放在字符型数组中的。 C语言数变量类型:整型、浮点型、v...

  • IOS----OC 独有 - 类型

    NSString 类型的指针变量,专门用来存储OC字符串的地址OC的字符串常量前要有:@符号C语言的字符串: "T...

  • C语言笔记06_字符、字符数组

    C语言笔记 06 本文涉及《啊哈C》第七章内容。 1.字符的妙用我们已经知道,存储整数可以用int,存储小数用fl...

  • 黑客基础之必会编程语言C语言!

    1.C语言数据类型 char:字符型,用来存储小范围的整数(-128~127)和字符(所有的ASCII字符,128...

  • C语言变量存储

    C语言中的变量按照生存周期来区分,可以分为静态存储和动态存储。一、静态存储静态存储是在程序运行过程中分配固定的存储...

  • C语言指针2

    char * string =“I LOVE china”; 在C 语言中 只有字符变量,没有字符串变量。 cha...

  • 变量的静态存储与动态存储

    首先,静态存储与动态存储都是变量在内存中的存储方式。 C语言中变量分为局部变量(auto)、寄存器变量(regis...

网友评论

    本文标题:c语言怎么用变量存储中文字符?书本上面没有的秘密

    本文链接:https://www.haomeiwen.com/subject/xxeqeftx.html