我正在开发一个需要显示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];
       }


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

最佳答案

您可以尝试:

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

关于c++ - 在Qt中无法从“QString”转换为“LPCWSTR”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15360984/

10-10 23:22