終於讓我找到一個很比較好用的方法來使用~~~
方法如下:
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());
沒有留言:
張貼留言