当前位置:C++技术网 > 资讯 > win32通用函数总结:8 GetStringType

win32通用函数总结:8 GetStringType

更新时间:2015-12-24 22:25:36浏览次数:1+次

BOOL GetStringTypeA(LCID Locale,DWORD dwInfoType,LPCSTR lpSrcStr,int cchSrc,LPWORD lpCharType);
参数解释:Locale表示语言环境标识,有2种类型:LOCALE_SYSTEM_DEFAULT,LOCALE_USER_DEFAULT
               dwInfoType表示用户想检索的字符信息的类型,有3种类型:CT_CTYPE1,CT_CTYPE2,CT_CTYPE3,具体解释请看MSDN
               lpSrcStr是指向有字符类型的单字节字符串的字符指针,如果cchSrc是负数,该字符串假定是以空为结束,必须是ANSI string(超长字符串类型)
               cchSrc表示lpSrcStr字符串的长度大小,如果该值是负数,假定lpSrcStr是以空为结束,长度大小自动计算,结束符也算(MSDN里的lpSrcStr和cchSrc对于cchSrc为负数的解释情况不一致)
               lpCharType是指向一个16位值的数组,如果cchSrc是负数,该数组的大小一定要大于lpSrcStr字符串的长度大小,不要忘记结束符,如果cchSrc不是负数,则该数组的大小一定要大于等于cchSrc
返回值:函数成功返回非零,失败则返回零,调用GetLastError获取错误代码,有3种类型:ERROR_INVALID_FLAGS,ERROR_INVALID_PARAMETER
函数作用:检索字符串中的字符类型信息
代码例子:
#include <tchar.h>
int main()
{
LCID Locale = LOCALE_SYSTEM_DEFAULT;
DWORD dwInfoType = CT_CTYPE1;
const CHAR *lpSrcStr = "TEST123";
int cchSrc = -1;
unsigned short arr[10] = {0};
LPWORD lpCharType = arr;
int nResult = GetStringTypeA(Locale,dwInfoType,lpSrcStr,cchSrc,lpCharType);
//调试查看arr数组的值
int nError = GetLastError();//调试查看nResult和nError
return 0;
}
BOOL GetStringTypeEx(LCID Locale,DWORD dwInfoType,LPCTSTR lpSrcStr,int cchSrc,LPWORD lpCharType);
参数解释:lpSrcStr是TCHAR类型的字符串,cchSrc表示lpSrcStr在TCHAR类型中的长度大小,其他参数解释请参考GetStringTypeA
返回值:请参考GetStringTypeA
函数作用:请参考GetStringTypeA
代码例子:
#include <Windows.h>
#include <tchar.h>
int main()
{
LCID Locale = LOCALE_SYSTEM_DEFAULT;
DWORD dwInfoType = CT_CTYPE1;
const TCHAR *lpSrcStr = _T("TEST");
int cchSrc = -1;
unsigned short arr[10] = {0};
LPWORD lpCharType = arr;
int nResult = GetStringTypeEx(Locale,dwInfoType,lpSrcStr,cchSrc,lpCharType);
//调试查看arr数组的值
int nError = GetLastError();//调试查看nResult和nError
return 0;
}
BOOL GetStringTypeW(DWORD dwInfoType,LPCWSTR lpSrcStr,int cchSrc,LPWORD lpCharType);
参数解释:lpSrcStr是宽字节类型的字符串,cchSrc表示lpSrcStr在宽字节类型中的长度大小,其他参数解释请参考GetStringTypeA
返回值:请参考GetStringTypeA
函数作用:请参考GetStringTypeA
代码例子:
#include <Windows.h>
#include <tchar.h>
int main()
{
DWORD dwInfoType = CT_CTYPE1;
const TCHAR *lpSrcStr = _T("TEST");
int cchSrc = -1;
unsigned short arr[10] = {0};
LPWORD lpCharType = arr;
int nResult = GetStringTypeW(dwInfoType,lpSrcStr,cchSrc,lpCharType);
//调试查看arr数组的值
int nError = GetLastError();//调试查看nResult和nError
return 0;
}
可能有些地方描叙不准确或者理解有错误的地方,希望大家能提出来,我会好好改进的。