Cstring str("TEST");
char buff[256];
strcpy( buff,str.GetBuffer(str.GetLength()));
在VC6.0环境中可以运行且执行完后buff内的内容为"TEST".但是在
vs.net之中却编译失败,编译错误是无法将一个w_tchar转换为const char* ,若按照如下格式:
strcpy( buff,(char*)str.GetBuffer(str.GetLength()));
编译倒是通过了,但是在执行到该语句时,buff内却只有"T"这一个字符。最后只得采用CString自身提供的operator [] 搞定了这个事情,
for(int i = 0; i < str.GetLength();i++)
buff[i] = str[i];
buff[str.GetLength() + 1] = 0x0;
但总决的解决的很不好,有谁可以指点一下?
本文探讨了在VS.NET环境下使用CString转换为char*时遇到的问题及解决方案。作者发现直接转换会导致编译错误或只复制部分字符的情况,并最终通过循环逐个赋值的方式解决了问题。
1062

被折叠的 条评论
为什么被折叠?



