ConvertStr


Description:
ConvertStr is an overloaded function that converts an ASCII string to or from a Unicode string. Usage should be straight forward, just remember to free the returned string.
 
Code:
// --- Header
WCHAR * ConvertStr(char * szIn);
char * ConvertStr(WCHAR * szIn);

// --- Code
WCHAR * ConvertStr(char * szIn)
{
 DWORD dwSize = strlen(szIn);
 DWORD count = mbstowcs(NULL, szIn, dwSize);
 WCHAR * szOut = (WCHAR*) malloc ((count + 1) * sizeof(WCHAR));
 mbstowcs(szOut, szIn, dwSize);
 return szOut;
}

char * ConvertStr(WCHAR * szIn)
{
 DWORD dwSize = wcslen(szIn) + 1;
 DWORD count = wcstombs(NULL, szIn, dwSize);
 char * szOut = (char *) malloc ((count + 1) * sizeof(char));
 wcstombs(szOut, szIn, dwSize);
 return szOut;
}