C语言中字符和字符串处理(ANSI字符和Unicode字符)

  • 更新时间:2022-09-14 08:56:50
  • 编辑:步宏爽

我们知道,C语言用char数据类型表示一个8位的ANSI字符,默认在代码中声明一个字符串时,C编译器会把字符串中的字符转换成由8位char数据类型构成的一个数组:

 

复制代码 代码如下:

// An 8-bit character

char c = 'A';

// An array of 99 8-bit character and 8-bit terminating zero

char szBuffer[100] = "A String";

 

Microsoft的C/C++编译器定义了一个内建的数据类型wchar_t,它表示一个16位的Unicode(UTF-16)字符。编译器只有指定了/Zc:wchar_t编译器开关时,才会定义这个参数类型。

声明Unicode字符和字符串的方法如下:

 

复制代码 代码如下:

// A 16-bit character

wchar_t c= L'A';

// An array up to 99 16-bit characters and a 16-bit terminating zero

wchar_t szBuffer[100] = L"A String";

 

字符串之前的大写字母L通知编译器该字符串应该编译一个Unicode字符串。

另外,在编写代码的时候,可以使用ANSI或Unicode字符/字符串使其能通过编译。WinNT.h定义了以下类型和宏:

 

复制代码 代码如下:

#ifdef UNICODE

typedef WCHAR TCHAR, *PTCHAR, PTSTR;

typedef CONST WCHAR *PCTSTR;

#define __TEXT(quote) L##quote

#else

typedef CHAR TCHAR, *PTCHAR, PTSTR;

typedef CONST CHAR *PCTSTR;

#define __TEXT(quote) quote

#endif

#define TEXT(quote) __TEXT(quote)

 

利用这些类型和宏来写代码,无论使用ANSI还是Unicode字符,都能通过编译,如下所示:

 

复制代码 代码如下:

// If UNICODE define, a 16-bit character; else an 8-bit character

TCHAR c = TEXT('A');

// If UNICODE define, an array of 16-bit character; else 8-bit character

TCHAR szBuffer[100] = TEXT("A String");

以上所述就是本文的全部Neri了,希望大家能够喜欢。

相关教程

  • 深入理解C语言指针

    为网友们分享了关于C语言的教程,关于指针,其是C语言的重点,C语言学的好坏,其实就是指针学的好坏。其实指针并不复杂,学习指针,要正确的理解指针

    发布时间:2022-06-22

  • C语言实现自动给QQ好友发窗口抖动

    这篇文章主要介绍了C语言实现自动给QQ好友发窗口抖动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    发布时间:2021-05-07

  • C语言文件操作总结

    本篇文章给大家通过代码示例讲述了C语言文件操作的相关知识点,对此有兴趣的朋友可以参考学习下。

    发布时间:2022-04-06

  • 探讨C语言的那些小秘密之断言

    探讨C语言的那些小秘密之断言

    给大家整理了关于C语言的教程,我尽可能的把我所理解的断言的使用讲解清楚,希望我在此所讲的断言能够对你有所帮助,让你以后能够在代码中灵活使用断言

    发布时间:2022-07-12

  • c语言构建一个静态二叉树实现方法

    下面小编就为大家带来一篇c语言_构建一个静态二叉树实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    发布时间:2022-04-04

  • C语言链表实现销售管理系统

    C语言链表实现销售管理系统

    给网友朋友们带来一篇关于C语言的教程,这篇文章主要为大家详细介绍了C语言链表实现销售管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    发布时间:2022-06-26

  • c语言中malloc、realloc与calloc 的区别以及联系

    给大家整理了关于c语言的教程,以下是对c语言中的malloc函数,realloc函数与calloc函数的区别以及它们之间的联系进行了介绍,需要的朋友可以过来参考下

    发布时间:2022-06-23

用户留言