【问题标题】:char to LPCTSTRchar 到 LPCTSTR
【发布时间】:2010-03-29 08:33:07
【问题描述】:

如何在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

【问题讨论】:

    标签: model-view-controller visual-c++ msdn


    【解决方案1】:

    如果您使用的是 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;
    

    【讨论】:

    • 你应该把你的代码块放在问题前面,前面有一个换行符,并在每行代码前加上 4 个空格。在您的问题附近点击“编辑”。
    • 你好像在用Qt,请把它加到标签上。
    • 我正在使用 MVC。 QByteArray qBary; qBary.append(temp);字符转字符[512]; for(int ii=0;ii
    猜你喜欢
    • 2012-04-04
    • 1970-01-01
    • 2010-11-01
    • 2011-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多