28 lines
553 B
C
28 lines
553 B
C
|
#pragma once
|
||
|
#include <string>
|
||
|
#if defined(WIN32)||defined(_WIN32)
|
||
|
#include <Windows.h>
|
||
|
#endif //
|
||
|
|
||
|
#if defined(WIN32)||defined(_WIN32)
|
||
|
|
||
|
|
||
|
|
||
|
std::string WChar2Ansi(LPCWSTR pwszSrc)
|
||
|
{
|
||
|
int nLen = WideCharToMultiByte(CP_ACP, 0, pwszSrc, -1, NULL, 0, NULL, NULL);
|
||
|
|
||
|
if (nLen <= 0) return std::string("");
|
||
|
|
||
|
char* pszDst = new char[nLen];
|
||
|
if (NULL == pszDst) return std::string("");
|
||
|
|
||
|
WideCharToMultiByte(CP_ACP, 0, pwszSrc, -1, pszDst, nLen, NULL, NULL);
|
||
|
pszDst[nLen - 1] = 0;
|
||
|
|
||
|
std::string strTemp(pszDst);
|
||
|
delete[] pszDst;
|
||
|
|
||
|
return strTemp;
|
||
|
}
|
||
|
#endif //
|