2

我正在开发一个需要显示驱动器文件格式(NTFS 或 FAT32)的应用程序。现在我做了一点研究,发现没有 Qt API 可以让我轻松获取格式细节。所以我遇到了一个 Windows API,当我连接驱动器(外部或内部)并在 Windows 上运行应用程序时,它可以让我获取格式详细信息。这是代码:

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.utf16(); //deviceData->m_strpath gives me the drive path

if (GetVolumeInformation(
    path,
    volumeName,
    ARRAYSIZE(volumeName),
    &serialNumber,
    &maxComponentLen,
    &fileSystemFlags,
    fileSystemName,
    ARRAYSIZE(fileSystemName)))
{
         newData.strFileSystem = QString::fromUtf16(fileSystemName);
}   

    QList m_SDInfoList;
    m_SDInfoList.append(newData);

当我在 MAC 操作系统中运行我的 Qt 应用程序时,有没有办法可以获得相同的格式详细信息?一个可以帮助我获取文件格式的 MAC API。请帮忙 :)

4

1 回答 1

0

您将需要使用底层系统调用。OS X 特别是基于 Unix (BSD)。因此,您可以利用底层的 Unix 系统调用来获取信息。由于 OS X 完全符合 POSIX,请使用 POSIX 系统调用。在此处查看概述,在此处查看文件系统调用。
由于 Cocoa 和 Objective-C 主要用于纯 OS X 应用程序,它们对你没有多大用处。

于 2013-03-29T12:06:41.563 回答