首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LPTSTR和LPCSTR C++

LPTSTR和LPCSTR C++
EN

Stack Overflow用户
提问于 2012-05-12 16:55:40
回答 3查看 10.1K关注 0票数 6

因此,函数GetUserName()的输出将用户名作为LPTSTR。我需要将它转换为LPCSTR,因为我希望用户名是the目录的名称。

代码语言:javascript
复制
TCHAR id [UNLEN+1];
DWORD size = UNLEN+1;
GetUserName(id, &size); // this is an LPTSTR

FtpCreateDirectory(hFtpSession,id) // 2d parameter should be an LPCSTR

问题是,我需要将LPTSTR字符串转换为LPCSTR字符串。现在我知道了:

LPTSTR是(非const ) TCHAR字符串,LPCSTR是const字符串。

,但如何将TCHAR转换为const字符串?

我应该指出,我没有丰富的编程/C++背景,我还应该指出,我正在编译多字节,而不是unicode。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-12 16:58:08

由于您正在为多字节进行编译,而不是unicode,所以您不必做任何事情。LPTSTR将隐式转换为LPCSTR,因为它只是一个char*const char*的转换。

票数 4
EN

Stack Overflow用户

发布于 2012-05-12 16:58:40

如果不是为Unicode编译,则TCHAR=char,因此不需要转换任何内容。另一方面,在为Unicode编译时,您必须执行转换;有几种替代方法,请看一下here

票数 2
EN

Stack Overflow用户

发布于 2012-05-12 19:15:41

代码语言:javascript
复制
TCHAR id [UNLEN+1];
DWORD size = UNLEN+1;
GetUserName(&id[0], &size); // this is an LPTSTR

FtpCreateDirectory(hFtpSession,&id[0]);

此代码应在unicode或多字节构建中工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10565692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档