您的位置:首页 > 编程语言

Windows核心编程笔记----windows中的字符串操作

2014-02-24 21:02 330 查看
为了帮助你对D B C S字符串进行操作,Wi n d o w s提供了下面的一组帮助函数

DBCS关键字与相关函数:

PTSTR:字符的首地址;

PCTSTR:DBCS的字符串;

PTSTR CharNext(PCTSTR pszCurrentChar); 返回字符串中的下一个字符的地址

PTSTR CharPrev(PCTSTR pszStart,PCTSTR 返回字符串中的上一个字符的地址

p s z C u r r e n t C h a r );

BOOL IsDBCSLeadByteTRUE(BYTE bTestChar); 如果该字节是DBCS字符的第一个字节,则返回

Unicode:

wchar_t:Unicode字符数据类型

Unicode函数与ANSI 函数对照:

标准的C运行期字符串函数,如s t r c p y、s t r c h r和s t r c a t等,只能对A N S I字符串进行操作,不能正确地处理U n i c o d e字符串

char* strcat(char*,const char*);

wchar_t* wcscat(wchar_t*,const wchar_t*);

char* strchr(const char*,int);

wchar_t* wcschr(const wchar_t*,int);

char* strcpy(char*,const char*);

wchar_t* wcscpy(wchar_t*,const wchar_t*);

int strcmp(const char*,const char*);

int wcscmp(const wchar*_t,const wchar_t*);

size_t strlen(const char*);

size_t wcslen(const wchar_t*);

函数总体来说变化并不大,概括来说 将对于字符串 将str 改成wcs,字符数据类型 有char改成wchat_t

注意:ANSI 规定,C运行期库支持U那次code字符和字符串,也就是说 ANSI程序始终可以使用wcscat,wcslen很wcstok等函数

A N S I / U n i c o d e通用字符串数据类型TCHAR:如果定义了_UNICODE宏则TCHAR以及与TCHAR 相关的字符操作函数变为Unicode,如果不定义则

TCHAR与TCHAR相关的字符操作函数库变为ANSI ,TCHAR相关库 许包括TChar.h头文件

注意:TCHAR 类型的字符串的Unicode字符串,不能定义为:TCHAR* szError = "Error",而应该定义为:TCHAR * szError = L“Error”;

由于TCHAR使用的方法并不具有通用性,一个更好的方法是:

将所有的字符串都放置在TEXT(X)的X 参数中 :

如果TCHAR* szError = TEXT("Error");

Windows 中的Unicode与通用 字符串类型:

W C H A R U n i c o d e字符

P W S T R 指向U n i c o d e字符串的指针

P C W S T R 指向一个恒定的U n i c o d e字符串的指针

通用字符串:

PTSTR Windows中的通用字符串

PCTSTR Windows中的长字符串 相当于ANSI中的const char *

Windows中的字符串函数:

S t r C a t、S t r C h r、S t r C m p和S t r C p y等,需要头文件:S h l WA p i . h
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: