unicode cstring to char*

// unicode to ansi
    CString wszString(_T("我是student"));
   
//预转换,得到所需空间的大小
    int ansiLen = ::WideCharToMultiByte(CP_ACP, NULL, wszString, wcslen(wszString), NULL, 0, NULL, NULL);
   
//分配空间要给'\0'留个空间
    char* szAnsi = new char[ansiLen + 1];
   
//转换
    ::WideCharToMultiByte(CP_ACP, NULL, wszString, wcslen(wszString), szAnsi, ansiLen, NULL, NULL);
   
//最后加上'\0'
    szAnsi[ansiLen] = '\0';
    delete[] szAnsi;
posted @ 2009-11-05 19:39  凌点  阅读(341)  评论(0编辑  收藏  举报