我正在尝试合并 2 个 tchar。
char username[UNLEN+1];
DWORD username_len = UNLEN+1;
GetUserName(username, &username_len);
TCHAR* appdatapath ="C:\\Users\\"+username+"\\AppData";
但我在 appdatapath 行收到错误错误。我怎样才能结合2个tchar?谢谢
最佳答案
看看strcat和 wcscat .不能用 char 数组添加 char 指针。
如果您使用的是 Windows 机器,您可以使用 _tcscat
,它会根据 _UNICODE
和 _MBCS
重定向到要使用的正确函数定义。
可能还想通过将 _s 附加到函数名称来使用安全版本。
正如评论中所指出的,您也可以像这样使用 snprintf:
const size_t concatenated_size = 256;
char concatenated[concatenated_size];
snprintf(concatenated, concatenated_size, "C:\\Users\\%s\\AppData", username);
由于您在运行时字符串前后都有字符串文字,这可能是一种更好的方法。
关于C++ 合并 2 个 Tchar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21578455/