終於讓我找到一個很比較好用的方法來使用~~~
方法如下:
CString 轉 Char*
#define MAX_BUFFER_SIZE 1024
CString CString_Buffer;
char Char_Buffer[MAX_BUFFER_SIZE];
memset(Char_Buffer, 0, MAX_BUFFER_SIZE); //清空Char_Buffer
int length;
length = CString_Buffer.GetLength();
WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK|WC_DEFAULTCHAR, CString_Buffer.GetBuffer(length),
length+1, Char_Buffer, MAX_BUFFER_SIZE, 0, 0);
Char * 轉 CString
CString CString_Buffer;
char test_char[]="test_char";
//使用CString的foemat即可
CString_Buffer.format(_T("%s"), test_char);
Char* 轉 string
string result_string; char test_char[]="test_char"; //利用assign把*char轉成string result_string.assign(test_char);
string 轉 Char*
string test_string="test_string";; char result_char[20]; //透過c_str()轉成str*格式後在複製過去 strcpy(result_char, test_string.c_str());
沒有留言:
張貼留言