#pragma once // 定义 TCHAR 类型 #ifdef UNICODE using char_t = wchar_t; #define TEXT(x) L##x #else using char_t = char; #define TEXT(x) x #endif inline auto ANSI_TO_TCHAR(const char* ansi_str) -> const char_t* { #ifdef UNICODE // 如果 TCHAR 是 wchar_t,需要进行转换 size_t len = strlen(ansiStr) + 1; std::vector wstr(len); mbstowcs(wstr.data(), ansiStr, len); return wstr.data(); #else // 如果 TCHAR 是 char,直接返回原始字符串 return ansi_str; #endif } inline auto TCHAR_TO_ANSI(const char_t* tchar_str) -> const char* { #ifdef UNICODE // 如果 TCHAR 是 wchar_t,需要进行转换 size_t len = wcslen(tcharStr) + 1; std::vector ansiStr(len); wcstombs(ansiStr.data(), tcharStr, len); return ansiStr.data(); #else // 如果 TCHAR 是 char,直接返回原始字符串 return tchar_str; #endif }