如何将单词:ThinkPad,
中的任何一个字母转化成全角的?
谢谢~~
中的任何一个字母转化成全角的?
谢谢~~
解决方案 »
- 网页控件问题
- 问个问题:如何解决窗口闪烁
- 如何把VC工程的部分当做一个模块进行多次使用?
- 这个简单的指针问题,我不能准确地说出答案。寻求权威解答。
- 谁有BO2K的代码 ,给我一份好吗?
- 我用CDaoDatabase的DSN方式打开一个Access数据库失败,但用CDatabase就可以,为什么?如何解决
- 在Word中怎么写出数学符号“任取”、“包含”,我在符号表格中找不到这两个符号?请问我怎么写这两个符号?
- 我模拟的鼠标点击为什么运行时出错?
- XP待机和休眠消息能区分么?
- 请问BCB与VC比,谁好用?
- 静态切分窗口的问题 高手快点救我..急~~!!!
- CPropertySheet在非模态时怎么显示"确定","取消","应用"按钮?
{
if(!pBuf)
{
return FALSE;
}
if(!pOut)
{
return FALSE;
}
if(*out_size < (in_size * 2 + 1))
{
*out_size = in_size * 2 + 1;
return FALSE;
}
BYTE *pBt1 = new BYTE[in_size + 1];
memset(pBt1 , 0 , in_size+1);
memcpy(pBt1 , pBuf , in_size);
BYTE *pBt2 = pOut;
for(int i = 0 ; i <= in_size ; i++)
{
if(*pBt1 == 0x00)
{
*pBt2++ = *pBt1++;
}
else if(*pBt1 == 0xa3)
{
*pBt2++ = *pBt1++;
*pBt2++ = *pBt1++;
}
else if(*pBt1 < 0xa3)
{
*pBt2++ = 0xa3;
*pBt2++ = 0x80 + *pBt1++;
}
else
{
*pBt2++ = *pBt1++;
}
}
return TRUE;
}
BOOL All2Half(const BYTE *pBuf , int in_size , BYTE *pOut , int *out_size)
{
if(!pBuf)
{
return FALSE;
}
if(!pOut)
{
return FALSE;
}
if(*out_size < (in_size /2 + 1))
{
*out_size = in_size / 2 + 1;
return FALSE;
}
BYTE *pBt1 = new BYTE[in_size + 1];
memset(pBt1 , 0 , in_size+1);
memcpy(pBt1 , pBuf , in_size);
BYTE *pBt2 = pOut;
for(int i = 0 ; i < in_size ; i++)
{
if(*pBt1 == 0x00)
{
*pBt2++ = *pBt1++;
}
else if(*pBt1 == 0xa3)
{
pBt1++;
*pBt2++ = *pBt1++ - 0x80;
}
else
{
*pBt2++ = *pBt1++;
}
}
return TRUE;
}
CString CPublic::ConvertPy(CString ABC)
{
int Len;
CString Han;
char *buf1, buf[MAX_PATH];
Han = ABC;
Len = Han.GetLength();
ZeroMemory( buf, sizeof( buf ) );
buf1 = Han.GetBuffer(0);
LCMapString( GetUserDefaultLCID(), LCMAP_FULLWIDTH, buf1, Len, buf, sizeof( buf ) );
CString Zen = CString( buf );
if(Zen.GetLength() > 80) Zen = Zen.Mid(1,80);
Han.ReleaseBuffer();
return Zen;
}