char* pstr = str.GetBuffer(0);
CString str("Dtest");
char* pstr = (LPCSTR)(LPCTSTR)str;
结果: pstr == 'D'
怎么回事?
应该是*pstr=='D'吧,因为pstr是一个字符指针,指向字符串str的首地址,也就是Dtest的第一个字符,当然就是'D'了;要将CString 转成const char *可以这样char* pstr = str.GetBuffer(str.GetLength());
楼上说得有道理,是我没说清楚,printf("%s", pstr);得到的是D,怎么回事?