当前位置:C++技术网 > 资讯 > win32通用函数总结:3 CharNext,CharNextExA

win32通用函数总结:3 CharNext,CharNextExA

更新时间:2015-12-22 18:44:46浏览次数:1+次

LPTSTR CharNext(LPCTSTR lpsz);
参数解释:lpsz是以空为结尾的字符串或者单个字符。
返回值:返回的指针的值就是当前指针后移一个字符,如果lpsz是单个字符,调用函数会返回指向空的指针(因为lpsz还有一个以空结束的字符),如果lpsz是空,调用函数会返回指向lpsz的指针即返回值=lpsz。
函数作用:查找字符串指针当前指向的字符内存位置的下一个字符内存地址。
代码例子:
#include <windows.h>
#include <tchar.h>
int main()
{
TCHAR *str = _T("TEST");
TCHAR *strNext = CharNext(str);
MessageBox(NULL, strNext, _T(""), MB_OK);
return 0;
}
LPSTR CharNextExA(WORD CodePage,LPCSTR lpCurrentChar,DWORD dwFlags);

参数解释:CodePage是用来检查前导字节范围,有三种类型:CP_ACP:ANSI字符集,CP_MACCP:Macintosh代码页,CP_OEMCP:OEM代码页

               lpCurrentChar是以空为结尾的const字符串。

               dwFlags保留,必须为零(MSDN里面写明),尝试过其他数值,并没有发现异样。

返回值:跟CharNext一样
函数作用:跟CharNext一样,但CharNextExA可以选择代码页类型
代码例子:
#include <windows.h>
int main()
{
LPCSTR str = "TEST";
WORD wCount = CP_ACP;
DWORD dwCount = 0;
LPSTR strNextExA = CharNextExA(wCount, str, dwCount);
MessageBoxA(NULL, strNextExA, "", MB_OK);
//CharNextExA不是通用版本,是char类型,所以要用MessageBoxA打印字符串
return 0;
}

可能有些地方描叙不准确或者理解有错误的地方,希望大家能提出来,我会好好改进的。