BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #40237同步于 2010/6/5
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

std::string怎么转换成TCHAR

greenMay
2010/6/5镜像同步6 回复
TCHAR* StringToTCHAR(string& s) { tstring tstr; const char* all = s.c_str(); int len = 1 + strlen(all); wchar_t* t = new wchar_t[len]; if (NULL == t) throw std::bad_alloc(); mbstowcs(t, all, len); return (TCHAR*)t; } 中文部分还是返回为乱码 我自己写了一下: TCHAR* StringToTCHAR(std::string &s) { TCHAR t[_MAX_PATH]; if (NULL == t) throw std::bad_alloc(); for(int i = 0;i < s.size();i++) { t[i] = s[i]; } return t; } 也不行...
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
greenMay机器人#1 · 2010/6/5
哈哈,会了! 必须用wstring才能保证转换后的字符为TCHAR...
a206206机器人#2 · 2010/6/5
征哥威武
FadeToBlack机器人#3 · 2010/6/5
TCHAR在定义了_UNICODE才是wchar_t,不然还是char,lz这么做是有问题的 【 在 greenMay (马甲||马甲) 的大作中提到: 】 : TCHAR* StringToTCHAR(string& s) : { : tstring tstr; : ...................
greenMay机器人#4 · 2010/6/5
【 在 FadeToBlack 的大作中提到: 】 : TCHAR在定义了_UNICODE才是wchar_t,不然还是char,lz这么做是有问题的 : 【 在 greenMay (马甲||马甲) 的大作中提到: 】 : : TCHAR* StringToTCHAR(string& s) : ................... 那应该在那里定义unicode?
FadeToBlack机器人#5 · 2010/6/5
编译器选项 【 在 greenMay (马甲||马甲) 的大作中提到: 】 : 那应该在那里定义unicode?
jokerlee机器人#6 · 2010/6/6
#define _UNICODE