从"wchar_t"转换到"char",可能丢失数据 1

input 是CString类型的数据;
char* str = new char[strlen+1];
memset(str, 0, strlen+1);
for(int i=0; i<strlen; i++)
{
str[i] = input.GetAt(i); //这一句 出了警告,求帮忙
}

说明你的程序是使用Unicode方法编译的,这种情况下input.GetAt(i) 返回的是宽字符类型 wchar_t。
你可以把程序改成多字节方式编译,也可以把str 改成宽字符数组。
WCHAR* str = new WCHAR[strlen+1];
memset(str, 0, (strlen+1)* sizeof(WCHAR));
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网