C++ 将字符串转换为 TCHAR*

标签 c++ visual-c++ mfc

下面是我的代码:

string szDllPath = "12345";
size_t size = szDllPath.length();
TCHAR* wArr = new TCHAR[size];
for (size_t i = 0; i < size; ++i)
    wArr[i] = _T(szDllPath[i]);

cout<<szDllPath<<endl;
cout<<wArr<<endl;

我明白了:

enter image description here

我不明白为什么我会得到额外的字符,以及如何解决它?

最佳答案

您忘记提供空格并添加终止零。

关于C++ 将字符串转换为 TCHAR*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37935460/

相关文章:

multithreading - 从父线程终止工作线程 - MFC

c++ - 格式化输出以显示在错误列表的消息部分

c++ - 是否可以在不对抽象的父类中的函数使用 virtual 关键字的情况下覆盖 C++ 子类中的函数?

c++ - 类的地址分配

c++ - 为什么由于标量删除而调用 vector 删除析构函数?

c++ - LPBYTE 数据到 MFC 中的 CString

c++ - 线程提前终止,代码为 255

python - 更改 Python swigged C 函数的返回值类型

c++ - Qt - 在不使用 WA_TranslucentBackground 的情况下在 Windows 中绘制一个完全透明的窗口

wpf - 如何从 WPF 应用程序打开 MFC 对话框?