复制LPCWSTR字符串需要采取哪些步骤?
考虑一下这个案例:LPCWSTR str = L"Copy me";
发布于 2013-11-11 06:57:28
使用wcscpy()。以下是MSDN文档:
http://msdn.microsoft.com/en-us/library/kk6xf663(v=vs.90).aspx
一个更安全的变体是wcscpy_s()。您必须分配一个足够大的缓冲区,以便预先保存副本:
LPCWSTR str = L"Copy me";
std::vector<wchar_t> thecopy( wcslen(str) + 1 ); // add one for null terminator
wcscpy_s(thecopy.data(), thecopy.size(), str);
// you can get a pointer to the copy this way:
LPCWSTR *strCopy = thecopy.data();Wcscpy_s()的文档可以在这里找到:
http://msdn.microsoft.com/en-us/library/td1esda9(v=vs.90).aspx
发布于 2013-11-11 06:57:39
使用wcscpy
LPWSTR wcscpy(LPWSTR szTarget, LPWCSTR szSource);目标是非恒定宽字符串(LPWSTR),源是恒定宽字符串.
LPCWSTR被定义为
typedef const WCHAR* LPCWSTR;LP指针 C-常数 WSTR -宽字符串
发布于 2013-11-11 09:07:23
假设LPCWSTR等同于const wchar_t *,那么对于GNU系统,您可以使用wcsdup()
wchar_t * wcsdup(const wchar_t * s);该函数也由POSIX.1-2008定义。
https://stackoverflow.com/questions/19900525
复制相似问题