1. 程式人生 > >無法從CString 轉換為wchar_t* 型別

無法從CString 轉換為wchar_t* 型別

解決這個問題需要走兩步,第一是將CString轉換為const char*型別,第二部是將const char*轉換為wchar_t*型別。

程式碼如下:

        CString imagepath;
        int count = 0;
        count++;
	imagePath.Format(_T("E:\\image%d"), count);
	imagePath += ".bmp";
	string str;
	str = CStringA(imagePath);
	const char* str2;
	str2 = str.c_str();
        //以上是將CString轉換為const char*
	size_t  len = strlen(str2) + 1;
	size_t converted = 0;
	wchar_t *WStr;
	WStr = (wchar_t*)malloc(len*sizeof(wchar_t));
	mbstowcs_s(&converted, WStr, len, str2, _TRUNCATE);
	ImageFileParams.pwchFileName = WStr;