返回信息流VS2005 MFC
char szHostName[128];
if(!gethostname(szHostName,128))//这里第一个参数死活要求是char *的
{
m_editHostName.SetWindowText(szHostName);//这里死活要求参数是 LPCTSTR的
}
怎么办。。。。不能强制类型转换,会乱码的。
[em9][em9][em9][em9]
这是一条镜像帖。来源:北邮人论坛 / cpp / #33069同步于 2009/12/8
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
char* 转 LPCTSTR
alaya
2009/12/8镜像同步8 回复
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
【 在 alaya 的大作中提到: 】
: VS2005 MFC
: char szHostName[128];
: if(!gethostname(szHostName,128))//这里第一个参数死活要求是char *的
: ...................
注意编码
#ifdef _UNICODE
#define LPCTSTR LPCWSTR
#else
#define LPCTSTR LPCSTR
#endif
#define LPCWSTR const wchar_t *
#define LPCSTR const char *
【 在 alaya 的大作中提到: 】
: 晕,我知道是unicode的,上面那段我宏定义我也知道。唉,换个问法吧:
: 抛开原来的程序不谈,我就想知道怎样把char*转成LPCTSTR呢??
LPCTSTR在非unicode环境下就是char*,在unicode环境下就是wchar*,自己转换......
哦。。。明白了,谢谢!!
【 在 jokerlee 的大作中提到: 】
: 如果没有定义unicode,LPCTSTR就是char*,根本就不用转,如果是unicode就要用MultiByteToWideChar转换