Windows CE下的字符串

Windows CE下的Win32编程
2007-07-21 09:58

通常,有以下三种方式定义字符和字符串:

ANSI字符和字符串;

Unicode字符和字符串;

双模式字符和字符串.

1.ANSI字符和字符串

为了定义一个ANSI字符变量,字符数组或字符指针,在C/C++程序中通常使用char或char*数据类型来定义.同时,Win32 API还定义了CHAR和LPSTR数据类型来增强代码的可移植性.

在对ANSI字符串进行操作时,C/C++通常使用下列的几个函数:

-strlen()          -----返回字符串的长度;

-strcpy()         --------复制字符串;

-strcat()          ----------连接字符串

2.Unicode 字符和字符串

在Unicode编码中怕有字符的存储都占用两个字节,而在编程时,通过使用字符前缀"'L"来创建一个Unicode字符或字符串,如L'H'表示一个常量Unicode字符,而L'Hello"表示一个常量Unicode字符串.

为了定义一个Unicode数据类型,通常使用WCHAR来定义一个Unicode字符变量或字符数驵,使用LPWSTR定义一个指向Unicode字符串的指针.

与ANSI字符串操作函数相对应,对Unicode字符串的操作使用下列对应的函数:

-wcslen()        返回字符串的长度;

-wcscpy()        复制字符串

-wcscat()        连接字符串

3.双模式字符串和字符串

双模式字符串允许程序员在只拥有一个源文件的清况下,使其中的字符和字符串适用于Unicod和非UnicodE的操作系统.为了将一个字符或字符串定义 为双模式通常使用TEXT()或_T()宏,它们被定义在tchar.h头文件中.

为了在一个C/C++源文件中请求Unicode字符选项,需要在include语句之前定义_UNICODE,如下:

#define _unicode

#include<tchar.h>

双模式字符串操作函数如下:

tcslen() --返回字符串的长度

tcscpy() -复制字符串;

tcscat()   连接字符串.

4.Unicode转换

1.转换为Unicode

mbstowcs函数:

mbstowcs(

              wchar_T *wcstr,         //l输出字符串

               const char *mbstr,     //输入字符串

             size_T count);           //字符个数

例:

WCHAR wchOut[256];

LPSTR pstrIn="Hello Word";

mbstowcs(wchOut,pstrIn,strlen(pstrIn));

从Unicode转换

wcstombs(

               char *mbstr,            //输出字符串

               const wchar_T*wcstr,//输入字符串

                size_t count);            //字符个数

例:

CHAR mbsOut[256];

LPWSTR pwchIn=L"A Unicode String";

wcstombs(mbsOut,pwchIn,wcslen(pwchIn);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值