c++ - 无法在 Qt 中从 ‘QString’ 转换为 ‘LPCWSTR’

标签 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];
       }

path 表示 SD 卡路径,当我运行应用程序时,它会抛出以下错误: “无法从‘QString’转换为‘LPCWSTR’”。我哪里弄错了???请帮忙!!

最佳答案

你可以试试:

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

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

相关文章:

c++ - mongodb内存泄漏通过C++驱动程序插入文档

c++ - 我的线程仍然卡住我的 GUI

Qt:使用 QListView 和 QFileSystemModel 浏览文件系统。如何突出显示文件夹中的第一项?

linux - 在 64 位环境下使用 32 位 .so 文件

c++ - 将 CMake 变量传递给 ExternalProject_Add

c++ - 什么是可变参数函数模板重载优先规则?

c++ - QGraphicsView 中的事件

qt - 是否可以更改 Qt 中顶级菜单的外观?

C++ 遗传编程 : Invoking a linker/compiler, 执行编译程序和管道输入/输出

c++ - 使用经典终端和gcc/g++编译QT Creator项目