serialWatch/Helper/UtilHelper.h

33 lines
958 B
C
Raw Normal View History

2024-11-07 13:44:49 +08:00
//
// 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