在Qt中无法从'QString'转换为'LPCWSTR'

时间:2013-03-12 12:17:23

标签: c++ qt qt4 filesystems

我正在开发一个应用程序,我需要显示SD卡的文件系统格式。由于我找不到任何Qt API,我选择了一个Windows API GetVolumeInformation ,并按如下方式进行:

TCHAR volumeName[MAX_PATH + 1] = { 0 };
   TCHAR fileSystemName[MAX_PATH + 1] = { 0 };
   DWORD serialNumber = 0;
   DWORD maxComponentLen = 0;
   DWORD fileSystemFlags = 0;

   LPCWSTR path = deviceData->m_strPath;

   if (GetVolumeInformation(
       path,
       volumeName,
       ARRAYSIZE(volumeName),
       &serialNumber,
       &maxComponentLen,
       &fileSystemFlags,
       fileSystemName,
       ARRAYSIZE(fileSystemName)))
       {
                 qDebug()<<fileSystemName[0];
                 qDebug()<<fileSystemName[1];
                 qDebug()<<fileSystemName[2];
                 qDebug()<<fileSystemName[3];
                 qDebug()<<fileSystemName[4];
       }

路径表示SD卡路径,当我运行应用时,它会引发以下错误: “无法从'QString'转换为'LPCWSTR'”。我在哪里弄错了???请帮忙!!

1 个答案:

答案 0 :(得分:2)

你可以尝试:

LPCWSTR path = deviceData->m_strPath.utf16();