char* WstringToString( const WCHAR* pWString )
{
if ( wcslen( pWString ) > 999 )
{
return NULL;
}
int nLen = WideCharToMultiByte( CP_ACP, 0, pWString, -1, NULL, 0, NULL, NULL );
if( nLen <= 0 )
return NULL;
static char szRet[ 1000 ];
memset( szRet, 0, sizeof( char ) * 1000 );
WideCharToMultiByte( CP_ACP, 0, pWString, -1, szRet, nLen, NULL, NULL );
return szRet;
}
WCHAR* StringToWstring( const char* pString )
{
int nLen = strlen( pString );
if ( nLen > 999 )
{
return NULL;
}
int nSize = MultiByteToWideChar( CP_ACP, 0, pString, nLen, 0, 0 );
if ( nSize <= 0 )
return NULL;
static WCHAR wszRet[ 1000 ];
memset( wszRet, 0x0, sizeof( WCHAR ) * 1000 );
MultiByteToWideChar( CP_ACP, 0, pString, nLen, wszRet, nSize );
if ( 0xFEFF == wszRet[ 0 ] )
{
for ( int i=0; i<nSize; i++ )
{
wszRet[ i ] = wszRet[ i + 1 ];
}
}
return wszRet;
}