|
|
浅谈EVC中文字符串操作 |
|
|
作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 |
EVC在某种意义上说,相当于VC的一个子集。因为大多EVC有的功能,VC也具备,而VC有的功能,EVC则不一定拥有。在VC中,操作字符串很方便,因为WINDOWS的字处理能力实在是很强大,它支持多种字符集。我们随便使用一个CString str=“你好”,就要以输入我们想要的中文字符串。在EVC中这种情况有所改变,因为WINCE的字处理能力不够强大,它在处理汉字里统一将它示为UNICODE编码,所以我们在EVC中片理中文字符串时需要用到UNICODE编码。下面结合WINDOWS 下VC字符串的处理,对比一下EVC中文字符串的片理方法。
一、中文字符串定义 1、在VC中我们如果定义一个中文字符串,可以使用CString str=“你好”或LPCTSTR str=“你好”。 2、在EVC中我们如果想定义一个中文字符串,可以使用如下方法:CString str=_T(“你好”)或者LPCTSTR str=“你好”,这里LPCTSTR在EVC里就是表示UNICODE字符串。值得注意的是_T()宏中,括号中只能填写常量,不能填定变量。 二、字符串操作 1、在VC中我们想拷贝字符串,可以作如下操作: char s[20]; CString str=“你好”; strcpy(s,str); 在EVC中则不能这样做,首先定义中文数组应该用双字节指针wchar_t,而拷贝函数也不能用strcpy,而应该用:wchar_t * wcscpy(wchar_t * wDest,wchar_t wSource);函数,操作如下: wchar_t s[20]; CString str=“你好”; wcscpy(s,(LPCTSTR)str); //前面没有转成UNICODE编码,所以这里需要强制转换 2、在VC中我们想在一个字符串中查找某个子串,只需要作下面的操作: CString str=“你是一个好学生”; str.Find(“学生”); 在EVC中不能这样做,因为中文字符串为UNICODE编码,我们必需在查找函数的参数里作如下修改: str.Find(_T(“学生”));
以上是我在用EVC写应用程序时操作中文字符串的一些积累,以文记之,以备不时之需。
|
|
相关文章:相关软件: |
|