CString和char *

来源:互联网 发布:海牙国际军事法庭 知乎 编辑:程序博客网 时间:2024/06/06 01:37

1. char * 可以直接赋值给CString,如:

char data[5];CString RecData;data[0] = 't';data[0] = 'e';data[0] = 's';data[0] = 't';data[0] = '1';RecData = data;MessageBox(RecData);

输出为: test1

 

2. CString转成char *,如:

CString SendData = "test2";unsigned char * RecData;int StrNum;StrNum = SendData.GetLength();RecData = new unsigned char [StrNum];RecData = (unsigned char* )(LPCSTR)SendData;


 

则 RecData[0] = 't';

     RecData[0] = 'e';

     RecData[0] = 's';

     RecData[0] = 't';

     RecData[0] = '2';

 

如果像上例知道CString的字符个数,也可以这么写:

CString SendData = "test2";unsigned char  RecData[5];RecData = (unsigned char* )(LPCSTR)SendData;

RecData的输出效果一样:

     RecData[0] = 't';

     RecData[0] = 'e';

     RecData[0] = 's';

     RecData[0] = 't';

     RecData[0] = '2';