读书人

判断WINDOWS文件系统是FAT32仍是NTFS的

发布时间: 2012-09-10 22:20:13 作者: rapoo

判断WINDOWS文件系统是FAT32还是NTFS的API是什么?
找没找着,搜也没搜着。

[解决办法]
BOOL GetVolumeInformation(
LPCTSTR lpRootPathName, // root directory
LPTSTR lpVolumeNameBuffer, // volume name buffer
DWORD nVolumeNameSize, // length of name buffer
LPDWORD lpVolumeSerialNumber, // volume serial number
LPDWORD lpMaximumComponentLength, // maximum file name length
LPDWORD lpFileSystemFlags, // file system options
LPTSTR lpFileSystemNameBuffer, // file system name buffer
DWORD nFileSystemNameSize // length of file system name buffer
);

API函数GetVolumeInformation来获取磁盘分区的信息。具体的调用方法请参阅MSDN:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fsys_6wfi.asp

还可以在MSDN中找到一个相关的示例:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fsys_2acz.asp
[解决办法]
来晚了,楼上正解
[解决办法]

探讨
BOOL GetVolumeInformation(
LPCTSTR lpRootPathName, // root directory
LPTSTR lpVolumeNameBuffer, // volume name buffer
DWORD nVolumeNameSize, // length of name buffer
LPDWORD lpVolumeSe……

[解决办法]
TCHAR RootPathName[] = TEXT("C:\\"); //查询分区根目录

//TCHAR lpVolumeNameBuffer[255]; //硬盘卷标名称

//DWORD dwVolumeSerialNumber; //序列号

//DWORD dwMaximumComponentLength; //文件名最大长度

//DWORD FileSystemFlags; //文件系统标志

TCHAR FSType[20];

if (!GetVolumeInformationA(RootPathName, NULL, 0,

NULL,

NULL,

NULL, FSType, sizeof(FSType) ) )

{

DWORD error = GetLastError();

MessageBox (NULL, "Get FileSystem error", TEXT ("myGegProgram"), 0);

exit (0);

}

if (strcmp(FSType, "FAT") == 0)
//是FAT32
{

//你的代码
}

else if (strcmp(FSType, "NTFS") == 0)
//是NTFS
{

//你的代码
}

读书人网 >C语言

热点推荐