// // Created by depre on 2024/1/16. // #ifndef UTILHELPER_H #define UTILHELPER_H #ifdef _WIN32 const auto ConvertWCharToChar = [](const std::wstring& strSrc) { size_t len = 0; len = WideCharToMultiByte(CP_ACP, 0, strSrc.c_str(), strSrc.length(), nullptr, 0, nullptr, nullptr); char* buffer = new char[len + 1]; std::string res; WideCharToMultiByte(CP_ACP, 0, strSrc.c_str(), strSrc.size(), buffer, len, nullptr, nullptr); buffer[len] = '\0'; res.append(buffer); delete[] buffer; return res; }; const auto ConvertCharToWCher = [](const std::string& strSrc) { size_t len = 0; len = MultiByteToWideChar(CP_ACP, 0, strSrc.c_str(), strSrc.size(), nullptr, NULL); wchar_t* buff = new wchar_t[len + 1]; MultiByteToWideChar(CP_ACP, 0, strSrc.c_str(), strSrc.size(), buff, len); buff[len] = '\0'; std::wstring res; res.append(buff); delete[] buff; return res; }; #endif #endif //UTILHELPER_H