diff --git a/Scylla/StringConversion.cpp b/Scylla/StringConversion.cpp new file mode 100644 index 0000000..912c560 --- /dev/null +++ b/Scylla/StringConversion.cpp @@ -0,0 +1,22 @@ +#include "StringConversion.h" +//#include +#include +#include + +const char* StringConversion::ToASCII(const wchar_t* str, char* buf, size_t bufsize) +{ + //wcstombs(buf, str, bufsize); + ATL::CW2A str_a = str; + strncpy_s(buf, bufsize, str_a, bufsize); + buf[bufsize - 1] = '\0'; + return buf; +} + +const wchar_t* StringConversion::ToUTF16(const char* str, wchar_t* buf, size_t bufsize) +{ + //mbstowcs_s(buf, str, bufsize); + ATL::CA2W str_w = str; + wcsncpy_s(buf, bufsize, str_w, bufsize); + buf[bufsize - 1] = L'\0'; + return buf; +} diff --git a/Scylla/StringConversion.h b/Scylla/StringConversion.h new file mode 100644 index 0000000..27cb433 --- /dev/null +++ b/Scylla/StringConversion.h @@ -0,0 +1,9 @@ +#pragma once + +class StringConversion +{ +public: + + static const char* ToASCII(const wchar_t* str, char* buf, size_t bufsize); + static const wchar_t* ToUTF16(const char* str, wchar_t* buf, size_t bufsize); +};