使用了Win32 API中的GetVolumeInformation函数:MSDN
#include<stdio.h> #include<iostream> #include<windows.h> #include <stdarg.h>//可变参数使用所需头文件 using namespace std; int main() { LPCSTR path = "D:/"; char sysNameBuf[MAX_PATH] = {0}; int status = GetVolumeInformationA(path, NULL, // 驱动盘名缓冲,这里我们不需要 0, NULL, NULL, NULL, sysNameBuf, // 驱动盘的系统名( FAT/NTFS) MAX_PATH); if (0!=status) { printf("盘符:%s\n文件系统名 : %s\n", path,sysNameBuf); // 比较字符串 } }
其中path为驱动盘的根路径,后面要加一个斜杠。
sysNameBuf接收文件系统名称的缓冲区的指针,例如FAT文件系统或NTFS文件系统。