【发布时间】:2019-05-22 06:07:19
【问题描述】:
我正在尝试将进程名称作为 TCHAR 传递给以下 void:
void GetBaseAddressByName(DWORD pID, TCHAR *pN)
通过这样做:
GetBaseAddressByName(aProcs[i], (TCHAR*)"Process.exe");
所以我的问题是:我所做的是否正确?因为我已经在 Multi-Bite 和 Unicode 上尝试了 TEXT("Process.exe") 和 _T("Process.exe") 与我的项目字符集,它只是告诉我
argument of type "const char*" is incompatible with parameter of type "TCHAR*"
【问题讨论】:
-
"Process.exe" 是一个
const char *。如果该函数试图修改内容,您的程序将崩溃。改用临时缓冲区:TCHAR temp[] = "Process.exe"; -
除了
const,您可以使用UNICODE,然后TCHAR仍然与char不兼容。
标签: c++ visual-studio char type-conversion tchar