windows程序设计 宽字符

Wider Characters

Widecharacters in C are based on the wchar_tdata type, which is defined in severalheader files, including WCHAR.H, like so:

typedef unsigned short wchar_t ;

Thus,the wchar_tdata type is the same as an unsigned short integer: 16 bits wide.

To define avariable containing a single wide character, use the following statement:

wchar_t c = `A' ;

You can alsodefine an initialized pointer to a wide-character string:

wchar_t * p = L"Hello!" ;

Notice thecapital L (for long) immediately precedingthe first quotation mark. This indicates to thecompiler that the string is to be stored with wide characters—that is, withevery character occupying 2 bytes. The pointer variable prequires 4bytes of storage, as usual, but the character string requires 14 bytes—2 bytesfor each character with 2 bytes of zeros at the end.

Similarly,you can define an array of wide characters this way:

static wchar_t a[] =L"Hello!" ;

Although itlooks more like a typo than anything else, that Lpreceding the first quotation mark is very important, and there must not bespace between the two symbols. Only with that L will the compiler knowyou want the string to be stored with 2 bytes per character. Later on, when welook at wide-character strings in places other than variable definitions,you'll encounter the L preceding the first quotation mark again. Fortunately,the C compiler will often give you a warning or error message if you forget toinclude the L.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值