2

如何在 vc++ 中将 char 转换为 LPCTSTR


我正在使用 MVC。

QByteArray qBary;
qBary.append(temp);
char toChar[512];
for(int ii = 0; ii < 512; ii++)
{ 
    toChar[ii] = qBary[ii];
    if(qBary[ii] == '\0') 
    {
        break;
    }
} 
SHFILEOPSTRUCT sf;
memset(&sf, 0, sizeof(sf)); 
sf.hwnd = 0;
sf.wFunc = FO_COPY;
sf.pFrom = toChar; // error occurring here
4

1 回答 1

5

如果您使用的是 MFC(您的标签是否应该是 MFC 而不是 MVC?):

char name[] = "your name";  
CString sName(name);  
LPCTSTR lpszName = sName;  

如果您使用的是 Qt,请查看QStringQByteArray

// (1)
QString filename;
LPCWSTR lpszFilename = filename.utf16(); // alternatively, .unicode()
// alternatively, (2)
QByteArray qBA("abcdef.txt");
QString qString(qBA);
LPCWSTR lpszFileName = qString.utf16(); // or, .unicode() , .utf8()

...
sf.pFrom = lpszFileName;
于 2010-03-29T08:38:11.193 回答