드라이브/SD 카드 (FAT 32/NTFS 등)의 파일 형식을 확인하고 표시해야하는 앱을 만들고 있습니다. 이 응용 프로그램은 MAC 및 Windows에서 실행해야하는 Qt 기반 응용 프로그램입니다. 결과를 얻을 수있는 Qt API가 없으므로이 접근법을 선택했습니다. 내가 Windows에서 그것을 달성하는 방법 Qt 응용 프로그램의 MAC OS에서 드라이브의 파일 형식을 얻는 방법?
이
은 다음과 같습니다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);
내 관심사는 내가 같은 드라이브/SD 카드를 연결하면 나에게 파일 형식 정보를 제공 할 수있는 MAC API를 찾을 수 없습니다 오전입니다 MAC 기계에서. 제발 도와주세요 :)
Bowles Sorhus : 답장을 보내 주셔서 감사합니다. 나는 맥에서 일한 적이 없기 때문에 나는 거의 깨닫지 못한다. 나는 왜 당신이 "/ path/to/dev"를 넘었는지 알고 싶다. 만약 드라이브의 경로를 지적했다면, "deviceData-> m_strpath"가 내 코드에서 드라이브 경로를 제공 할 것이다. 아니면 다른 것을 지적하고있을 수도 있습니다 :) – Gojira
"/ path/to/dev"= "/ dev/disk0s2"제 경우입니다. 예를 들어 방금 xcode 하드웨어 io 도구 이미지를 "/ Volumes/Hardware IO Tools"에 마운트했습니다. 그럼 내가 사용할 수있는 df | grep "Hardware"는/dev/disk3s2 인 장치를 찾은 다음 필요한 출력을 생성 한 "diskutil info/dev/disk3s2"에서 사용합니다. –
감사합니다 .... 그것은 매력처럼 작동합니다 :) – Gojira