如何判断一个字符是全角还是半角?
通过以下代码可以取得剪切板中的字符串,接下来该如何判断字符是全角还是半角?
if (OpenClipboard())
{
HANDLE hData = GetClipboardData(CF_TEXT);
CHAR* lpszBuffer = (CHAR*)GlobalLock(hData);
if (!lpszBuffer)
{
CloseClipboard();
return FALSE;
}
WCHAR* lpwszBuffer = new WCHAR[strlen(lpszBuffer)+1];
::memset(lpwszBuffer, 0, (strlen(lpszBuffer)+1) * sizeof(WCHAR));
::MultiByteToWideChar(CP_ACP,0,lpszBuffer,(UINT)strlen(lpszBuffer)+1,lpwszBuffer,(UINT)strlen(lpszBuffer)+1);
GlobalUnlock(hData);
CloseClipboard();
for (UINT i = 0; i < wcslen(lpwszBuffer); i++)//循环取得每个字符
{
WCHAR p=lpwszBuffer[i];
//.......下面该如何判断字符是否是半角或者全角
}