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

 更新时间:2015年03月18日 10:53:47   投稿:hebedich  
这篇文章主要介绍了C语言与C++中字符和字符串处理(ANSI字符和Unicode字符)的详细内容,非常的全面,这里推荐给大家,希望大家能够喜欢。

我们知道,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语言 详细讲解接续符和转义符的使用

    接续符是用来告诉编译器行为的符号,那编译器遇到接续符是什么行为呢,就是去掉接续符,然后把下一行连接到现在这行上面,转义符是主要用于表示无回显字符,也用于表示常规字符,转义符必须放在单引号或者双引号里面
    2022-04-04
  • C语言类的基本语法详解

    C语言类的基本语法详解

    大家好,本篇文章主要讲的是C语言类的基本语法详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • C语言关于文件的操作方法总结

    C语言关于文件的操作方法总结

    在任何程序的开发中,对于文件的操作都是绕不开的一个知识点,因为总是要用到存储读取的功能,今天我们来详细了解C语言中是怎么操作文件的
    2021-11-11
  • C语言实现字母大小写转换的方法

    C语言实现字母大小写转换的方法

    这篇文章主要介绍了C语言实现字母大小写转换的方法,涉及C语言字符串的遍历与转换技巧,非常简单实用,需要的朋友可以参考下
    2015-07-07
  • C++基于随机数实现福彩双色球的方法示例

    C++基于随机数实现福彩双色球的方法示例

    这篇文章主要介绍了C++基于随机数实现福彩双色球的方法,结合完整实例形式分析了C++随机数算法的实现与使用技巧,需要的朋友可以参考下
    2017-06-06
  • C语言形参和实参的区别详解

    C语言形参和实参的区别详解

    在函数定义和调用过程中,形参和实参是非常重要的概念,本文主要介绍了C语言形参和实参的区别,具有一定的参考价值,感兴趣的可以了解一下
    2023-05-05
  • C语言五子棋小游戏实现代码

    C语言五子棋小游戏实现代码

    这篇文章主要为大家详细介绍了C语言五子棋小游戏实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • C++实现单张图片读取和保存

    C++实现单张图片读取和保存

    这篇文章主要为大家详细介绍了C++语言读取和保存单张图片的代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • C语言 格式化读写文件详解

    C语言 格式化读写文件详解

    本文主要介绍C语言 格式化读写文件,这里提供了关于格式化读写文件的基本资料及实现示例代码,有兴趣的小伙伴可以参考下,以便理解学习
    2016-08-08
  • C++实现读写文件的示例代码

    C++实现读写文件的示例代码

    这篇文章主要介绍了C++实现读写文件的示例代码,帮助大家更好的理解和学习c++,感兴趣的朋友可以了解下
    2020-08-08

最新评论