WinCE下的非常用字符串操作函数

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/pknife/archive/2008/09/26/2984237.aspx

 

 Windows CE是一种Unicode环境,使用wchar_t来描述字符型变量。注意,这并不是说它不支持char型字符,char* p = "你好"同样是合法的,只不过在显示的时候必须转换成wchar_t类型。

来看看WinCE下的字符串操作函数:
wcscat
wcschr
wcscmp
wcscpy
wcscspn
wcslen
wcsncat
wcsncmp
wcsncpy
wcsnlen
wcspbrk
wcsrchr
wcsstr
wcstod
wcstoi64
wcstok
wcstol
wcstombs
wcstoui64
wcstoul
_wcsdup
_wcsicmp
_wcslwr
_wcsnicmp
_wcsnset
_wcsrev
_wcsupr

上面罗列的函数中,有些是平时不太用到或者第一感会想到自己写一个小算法实现的。不过很多公司在笔试的时候,喜欢让应聘者来实现以上这些函数:)

以下这些函数一般很少用:

size_t wcscspn( const wchar_t *string, const wchar_t *strCharSet )
该函数的作用是当字符串strCharSet包含在string时,求得第一个字符的位置。

wchar_t *wcspbrk( const wchar_t *string, const wchar_t *strCharSet )
该函数的作用是求得strCharSet中的任意一个字符在string的最初匹配位置的指针。

wchar_t *wcstok( wchar_t *strToken, const wchar_t *strDelimit )
该函数的作用是查找由在第二个串中指定的分界符分隔开的单词。首次调用时,strToken必须指向要分解的字符串,随后调用要把strToken设成NULL;wcstok在strToken中查找包含在

strDelimit中的字符并用NULL('/0')来替换,直到找遍整个字符串;返回指向下一个标记串;当没有标记串时则返回空字符NULL。 

size_t wcstombs( char *mbstr, const wchar_t *wcstr, size_t count )
该函数将宽字符串转化为窄字符串。微软另外提供的字符转换的函数有MultiByteToWideChar和WideCharToMultiByte。

wchar_t *_wcsdup( const wchar_t *strSource )
该函数复制一个字符串。

int _wcsicmp( const wchar_t *string1, const wchar_t *string2 )
该函数比较字符串,但不区分大小写。类似的函数还有_wcsnicmp。

wchar_t *_wcslwr( wchar_t *string )
该函数将字符串转化为小写。

wchar_t *_wcsrev( wchar_t *string )
该函数逆序一个字符串。

wchar_t *_wcsupr( wchar_t *string )
该函数将字符串转化为大写。

微软还有一系列_tcs打头的函数,其实是用了宏(UNICODE)来区分编译环境。如下,我们会很明白:
#ifdef  UNICODE
#define _tcscat     wcscat
#else
#define _tcscat     strcat
#endif

 

嵌入开发(WinCE)的一些经验[摘录] WindowsCE下Unicode和Ansi字符间互相转换的例子纵所周知,WindowsCE下编程99%的问题都和Unicode有关.比如文件编辑,一般都保存为Ansi格式;无线通讯中控制Modem需要发送的AT指令,必须是Ansi格式;网络通讯中,PC端一般都是Ansi的,为了和PC上协议兼容,在WindowsCE中必须把要发送的一个指令从Unicode转换成Ansi格式 阅读详情

相关推荐

C语言函数大全-- w 开头的函数(2)

本篇介绍 C 语言中的 w 开头的函数(2)

Huazie 2435

strtok和wcstok分割字符串函数

在C/C++中也就像java中的split函数:strtok和wcstok函数 函数原型为: char *strtok( char *strToken, const char *strDelimit);     wchar_t *wcstok( wchar_t *strToken, const wchar_t *strDelimit ); 示例如下: Example #

学海无涯 4637

用C++读写unicode文本

转自:http://www.cnblogs.com/WeedQian/archive/2009/12/28/1634478.html 字符类型 char, wchar_t, TCHAR,最熟悉的char是单字节字符,适用于ANSI编码;wchar_t是双字节的宽字符类型,适用于unicode编码;TCHAR是一个宏,在ANSI坏境下定义为char,unicode坏境下定义为wchar_t。

白永辉的专栏 7755

_tcsnicmp&_wcsnicmp

函数名称: _wcsnicmp 系统要求: Windows CE 2.0 and later. 头文件: stdio.h, string.h 所在DLL: coredll.dll 函数功能: 比较指定长度的两个字符串。 参数: 第1个参数: const wchar_t *string1 第一个字符串。 第2个参数: const wchar_

Puzzle的专栏 6942

Wince读取ini的CIniParse类

<br />    CIniParse类并不能在ASCII环境中编译通过。只是wince是UNICODE的系统,所以这点在平时使用中倒不会引起很大的麻烦。当然,如果你是打算移植到VC6.0中,那么可能有一些函数就必须要修正了。再一点就是,该类没有详细地进行测试,所以应该还会有或多或少的问题,如果你发现了,也希望我更正,期待你的指出。<br />    <br />    惯例,先罗列出CIniParse的完整代码:<br />    <br />    头文件:<br /> <br />//Class Na

liutiaoer的专栏 1219

string也可以很精彩

//========================================================================//TITLE://    string也可以很精彩//AUTHOR://    norains//DATE://    Moday 03-November-2008//Environment://    NONE//=================

norains的专栏 2809

WinCe 平台读写 ini 文件

在上篇文章开发 windows mobile 上的今日插件时,我发现 wince 平台上不支持例如 GetPrivateProfileString 等相关 API 函数。在网络上我并没有找到令我满意的相应代码,因此我手工自己写了相应的方法。命名规则是,在 PC API 函数的名称前面加上 “Ce” 前缀,这是为了在 PC 平台上调试和使用时,不和系统的 API 函数发生冲突。值得注意的...

weixin_30295091的博客 82

MultiByteToWideChar和WideCharToMultiByte用法详解

MultiByteToWideChar和WideCharToMultiByte用法详解 分类: WinCE2006-12-25 23:38 40561人阅读 评论(53) 收藏 举报 //======================================================================== //TITLE: //    MultiB

zcabcd123的专栏 839
上一篇: Windows Mobile中GPRS连接网络
下一篇: C++字符类型总结
ked
ked
博客等级 码龄23年 51粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值