MickD 发表于 2008-8-4 18:50:49

将wchar转换为char

关于更好的方法来做到这一点的任何想法?
                        // convert the unicode string (pWcStr in this case from the user/acad) to ascii:
                        const size_t strsize = 64;
                        size_t CharactersConverted = 0;
                        char *chrStr = new char;
                        wcstombs(chrStr, pWcStr, CharactersConverted);
                        if(CharactersConverted == 0)
                        {
                                acutPrintf(_T("Failed to convert the w_char string!\n"));
                                return;
                        }

这似乎失败了(至少对我来说)
**** Hidden Message *****

MickD 发表于 2008-8-4 20:03:38

这似乎有效,只是在我的python函数
char *pChrStr = new char中不起作用;
size_t cnt = wcstombs(pChrStr, pWcStr, wcslen(pWcStr));

MickD 发表于 2008-8-4 22:39:31

试试这个:
#define BUFFER_SIZE 256 //100
CString sLine;
bRead = fIn.ReadString(sLine);
...
size_t i;
char *pMBBuffer = (char *)malloc( BUFFER_SIZE );
// Conversion
wcstombs_s(&i, pMBBuffer, (size_t)BUFFER_SIZE, sLine, (size_t)BUFFER_SIZE);

或者可能
CString cs ("MyString");
// Convert a TCHAR string to a LPCSTR
CT2CA pszConvertedAnsiString(cs);

MickD 发表于 2008-8-4 22:51:31

谢谢路易斯,我不敢相信有这么多方法可以做到这一点std::string
谢谢Glenn,
在这个办公室里,他们给新员工拍照...(那张之后,相机就不工作了)

MickD 发表于 2008-8-5 04:58:51

此链接可能
有用 http://msdn.microsoft.com/en-us/library/87zae4a3(VS.80).aspx

MickD 发表于 2008-8-5 09:32:59


使用标准函数:WideChartMultiByte
页: [1]
查看完整版本: 将wchar转换为char