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
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
相关文章推荐
- PHP学习笔记--字符串操作 作者:yezi33 字符串的整理: trim():除去字符串开头和末尾的空格或其他字符。函数执行成功时返回删除了string字符串首部和尾部空格的字符串,发生错误时返回空
- 字符串操作——课堂笔记
- Flex学习笔记(三)——字符串的操作(String)
- windows下操作ipynb(笔记)
- JAVA笔记系列:字符串操作——string stringbuilder stringbuffer
- JavaScript字符串常用操作函数之学习笔记
- C#学习笔记一(字符串操作)
- Windows 8 Metro Stype App 学习笔记(五)--文件操作
- linux操作笔记,windows连接云服务器
- R语言学习笔记之<字符串操作>
- Windows内核字符串的操作(基础,但是很重要)
- Python学习笔记七:字符串的操作(一)
- php学习笔记---字符串操作
- Windows32 API 操作串口时的一些笔记
- Perl 字符串操作 以及 自定义排序学习笔记
- 梓益C语言学习笔记之常用字符串操作(sscanf & strtok)
- 字符与字符串操作——Windows via C/C++
- windows操作笔记
- python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
- C 语言--字符串操作函数--笔记(1)