【发布时间】:2016-12-17 18:22:20
【问题描述】:
我正在尝试将三个不同的 const char* 变量附加到一个中。这是因为 Windows 库中的函数采用参数 LPCTSTR。 我有以下代码:
const char* path = "C:\\Users\\xxx\\Desktop\\";
const char* archivo = "vectors";
const char* extension = ".txt";
const char* fullPath =+ path;
fullPath =+ archivo;
fullPath =+ extension;
当我运行它时,我只会将最后一个(扩展名)添加到 FullPath。
【问题讨论】:
-
指针不能附加到指针上。
-
C 风格的字符串不支持串联,你知道
const是什么意思吗?=+应该做什么?底线,使用 std::string。 -
LPCTSTR不是const char*的同义词,顺便说一下。这是一个指向常量TCHAR数组的长指针。TCHAR是暂时的,可以表示char或wchar_t,具体取决于您的软件设置方式。如果您正在使用带有LPCTSTR的 Win32 函数,我建议您不要这样做... Win32 API 具有所有字符串函数和任何使用char *的代码的A和W变体应该使用A变体。 -
我认为如果你只使用
const wchar_t*和 wcscat 都会很酷
标签: c++