在写代码的过程中经常会遇到CString转char的问题,网上也给出了很多方法,但是很多方法自己试了也没有成功。看到网友们给出的最多的一种方法是利用CString的类函数GetBuffer函数,代码如下:
CString str = “helloworld”;
char *ch = (char*)str.GetBuffer(str.GetLength());
但是很多网友在后面的代码中用到这个ch参数是还是会出现错误。本人的解决办法是将工程的配置属性改成使用“多字节字符集”,如下图所示:
然后,转换后的字符串就是对的了。
本人不才,也没有做更加深入的研究,不能很透彻的讲解其中的原理。希望网友们要是能帮忙分析下的不吝赐教。