c++ convert from LPCTSTR to const char *(C++ 从 LPCTSTR 转换为 const char *)
问题描述
我在 MSVC2008 MFC 中有这个问题.我正在使用 unicode.我有一个函数原型:
MyFunction(const char *)我称之为:
MyfunFunction(LPCTSTR wChar).<块引用>
错误:无法将参数 1 从LPCTSTR"转换为const char *"
如何解决?
由于您使用的是 MFC,您可以轻松地让 CString 进行从 char 到 TCHAR 的自动转换>:
MyFunction(CString(wChar));无论您的原始字符串是基于 char 还是基于 wchar_t,这都有效.
看来我最初的回答与您所要求的相反.轻松修复:
MyFunction(CStringA(wChar));CStringA 是 CString 的一个版本,它专门包含 char 字符,而不是 TCHAR.还有一个 CStringW 保存 wchar_t.
I have this problem in MSVC2008 MFC. I´m using unicode. I have a function prototype:
MyFunction(const char *)
and I'm calling it:
MyfunFunction(LPCTSTR wChar).
error:Cannot Convert Parameter 1 From 'LPCTSTR' to 'const char *'
How to resolve it?
Since you're using MFC, you can easily let CString do an automatic conversion from char to TCHAR:
MyFunction(CString(wChar));
This works whether your original string is char or wchar_t based.
Edit: It seems my original answer was opposite of what you asked for. Easily fixed:
MyFunction(CStringA(wChar));
CStringA is a version of CString that specifically contains char characters, not TCHAR. There's also a CStringW which holds wchar_t.
这篇关于C++ 从 LPCTSTR 转换为 const char *的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:C++ 从 LPCTSTR 转换为 const char *
基础教程推荐
- 如何部分禁用 cmake C/C++ 自定义编译器检查 2021-01-01
- 与 CAS 的原子交换(使用 gcc 同步内置函数) 2022-01-01
- 将不可复制的闭包对象传递给 std::function 参数 2021-01-01
- C++:获取传递给函数的多维数组的行大小 2021-01-01
- 为什么我们不能使用“虚拟继承"?在 COM 中? 2022-01-01
- c++ STL设置差异 2022-01-01
- 如何更改 SysDateTimePick32 或 CDateTimeCtrl 的背景颜色? 2022-01-01
- 随机插入/删除的综合向量与链表基准 2022-01-01
- 提升 ASIO 流缓冲 2021-01-01
- 如何在 C++ 中正确使用命名空间? 2022-01-01
