How do I convert a TCHAR
array to std::string
(not to std::basic_string
)?
Simple!
char* tcharToChar(TCHAR* buffer)
{
char *charBuffer = NULL;
int lengthOfbuffer = lstrlenW(buffer);
if(buffer!=NULL)
{
charBuffer = (char*)calloc(lengthOfbuffer+1,sizeof(char));
}
else
{
return NULL;
}
for (int index = 0;
index < lengthOfbuffer;
index++)
{
char *singleCharacter = (char*)calloc(2,sizeof(char));
singleCharacter[0] = (char)buffer[index];
singleCharacter[1] = '\0';
strcat(charBuffer, singleCharacter);
}
strcat(charBuffer, "\0");
return charBuffer;
}
Then capture the char * in std::string