我这样定义的TCHAR *m_szText; //存储的字符串
TCHAR *m_pszText; //指向存储字符串的指针然后初始化
m_szText = new TCHAR[256]; //初始化字符串数组
for(int i=0;i<256;i++) m_szText[i]=0; //将字符置0
m_pszText = m_szText; //指向字符的指针比如我想删除某一个输入的字符
用m_pszText--;之后,指针只移动一个字节,这样在删英文没有问题。如果是中文,就出现删除一半的乱码问题,请问大家怎样解决这个问题呢?
TCHAR *m_pszText; //指向存储字符串的指针然后初始化
m_szText = new TCHAR[256]; //初始化字符串数组
for(int i=0;i<256;i++) m_szText[i]=0; //将字符置0
m_pszText = m_szText; //指向字符的指针比如我想删除某一个输入的字符
用m_pszText--;之后,指针只移动一个字节,这样在删英文没有问题。如果是中文,就出现删除一半的乱码问题,请问大家怎样解决这个问题呢?
int nCharCount = 0;//字符个数,包括汉字
for(int i = 0; i < str.GetLength(); i++)
{
if( (BYTE)str[i] < 0x80 )//字符
{
nCharCount++;
}
else//汉字
{
nCharCount++;
i++;
}