CString 转换成 char *

写程序时 要实现CString转换成 char *,晚上找了一些方法,可总是会有错误,不是我想要的。

比如下面这两种转换格式:

1.

 <span style="white-space:pre">	</span>CString strItem("1238djj");
	char *chItem1;
	chItem1 = (LPSTR)(LPCTSTR)strItem1;


2.

 <span style="white-space:pre">	</span> CString strItem("1238djj");
	 char chItem1[100];
	strncpy(chItem1,(LPSTR)(LPCTSTR)strItem1,sizeof(chItem1));

其中的 chItem1的值 只是字符串strItem1的首字母。


正确的方法:

<span style="white-space:pre">	</span>wchar_t *chItem1,*chItem2;
	chItem1=(LPWSTR)strItem1.GetBuffer(strItem1.GetLength());
	chItem2=(LPWSTR)strItem2.GetBuffer(strItem2.GetLength());

这样才可以得到字符串的全部字符。

//wchar_t *转换成int
int intItem1 = _ttol(chItem1);


你可能感兴趣的:(C++,char,CString)