WIN API – 1. 程序国际化设计

 

1. Win32程序中标准字符、宽字符的定义

 

1.1 标准字符

定义字符、字符串等的例子如下:

  char c=’a’;

  char *c=”hello”;

  char c[]=”world”;

 

  strlen();

1.2 宽字符

在头文件WCHAR.H中定义。

  typedef  unsigned  short  wchar_t;

 

UNICODE或宽字符例子如下:

  wchar_t c=’a’    (或L’a’)

  wchar_t c=L”hello”;

  wchar_t c[]=L”world”;

 

  wcslen();

 

2. 统一源码的方法

因为有不同定义的字符串,可能需要维护两份源代码,一份用于处理ASCII字符串类型,另一份用于处理UNICODE类型字符串,为了方便维护源代码,只维护一份源代码,有多种方法。

 

2.1 法一

使用VC的TCHAR.H文件,该文件不是ANSI C标准。

通过文件中的 _UNICODE 标识符,判断字符串类型。

 

无 _UNICODE 时的含义

有 _UNICODE 时的含义

__T(x)

别名:_T(x)、_TEXT(x)

x

L”x”

TCHAR

char

Wchar_t

_tcslen

strlen

wcslen

 

 

 

 

 

 

 

 

 

 

 

 

 

2.2 法二

使用WINDOWS.H头文件(此头文件将包含WINNT.H文件,具体信息将在此文件中定义)

通过文件中的 UNICODE标识符,判断字符串类型。

 

 

新的名称

 

Char

CHAR

 

Wchar_t

WCHAR

 

 

 

 

 

 

 

 

 

 

无 UNICODE 时的含义

有UNICODE 时的含义

__TEXT(x)

别名:TEXT(x)

x

L”x”

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/mutou3221/p/4203636.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值