文件系统

it2025-09-12  7

文章目录

一、文件系统二、卷相关API三、目录相关API四、文件相关API

一、文件系统

文件系统是操作系统用于管理磁盘上文件的方法和数据结构;简单点说就是在磁盘上如何组织文件的方法。

二、卷相关API

<1> 获取卷 GetLogicalDrives()

#include "stdafx.h" #include "windows.h" VOID Test() { DWORD dwLogicalDrives = GetLogicalDrives() ; printf("%d",dwLogicalDrives); } int main(int argc, char* argv[]) { Test(); getchar(); return 0; }

如图是12,换算成二进制 1100,从右往左,0代表这个盘没有,1代表这个盘有

<2> 获取一个所卷的盘符的字符串 GetLogicalDriveStrings()

#include "stdafx.h" #include "windows.h" VOID Test() { DWORD dwMaxLength = 100;//获取长度最大值 char szBuffer[100];//提供一个缓冲 GetLogicalDriveStrings(dwMaxLength ,szBuffer); } int main(int argc, char* argv[]) { Test(); getchar(); return 0; }

如图获取卷的盘符的字符串

<3> 获取卷的类型 GetLogicalDrives()

<4> 获取卷的信息 GetVolumeInformation()

#include "stdafx.h" #include "windows.h" VOID Test() { TCHAR szVolumneName[260] = {0}; DWORD dwVolumneSerial = 0; DWORD dwMaxLength = 0 ; DWORD dwFileSystem = 0; TCHAR szFileSystem[260] = {0}; GetVolumeInformation ( "c:\\", //IN 磁盘驱动器代码字符串 szVolumneName, //OUT 磁盘驱动器卷标名称 260, //IN 磁盘驱动器卷标名称长度 &dwVolumneSerial, //OUT 磁盘驱动器卷标序列号(不是硬盘序列号) &dwMaxLength , //OUT 系统允许的最大文件名长度 &dwFileSystem , //OUT 文件系统标识 szFileSystem, //OUT 文件操作系统名称 260 //IN 文件操作系统名称长度 ); printf("Name:%s\nSerial:%X\nLength:%d\nFileSystem:%X \\ %s\n",szVolumneName,dwVolumneSerial,dwMaxLength ,dwFileSystem,szFileSystem); } int main(int argc, char* argv[]) { Test(); getchar(); return 0; }

三、目录相关API

#include "stdafx.h" #include "windows.h" VOID Test() { //reateDirectory("c:\\A",NULL); //创建目录 //emoveDirectory("c:\\A"); //删除目录 //MoveFile("c:\\A","c:\\B"); //修改目录名称 SetCurrentDirectory("c:\\A"); //设置程序当前目录 CreateDirectory("A",NULL); //在设置程序当前目录下创建一个目录A } int main(int argc, char* argv[]) { Test(); getchar(); return 0; }

四、文件相关API

#include "stdafx.h" #include "windows.h" VOID Test() { //创建一个文件 HANDLE hFile = CreateFile( "C:\\A.txt", //创建文件路径 GENERIC_READ| GENERIC_WRITE, //读写权限 0, //在创建完成到关闭文件之前,其他进程对该文件的操作,0排它 NULL, //安全描述符 CREATE_ALWAYS, //总是创建,不管文件存不存在 FILE_ATTRIBUTE_HIDDEN, //隐藏文件 NULL ); //获取文件长度 DWORD dwHigh = 0; DWORD dwLow = GetFileSize(hFile ,&dwHigh ); //关闭文件 CloseHandle(hFile ); } int main(int argc, char* argv[]) { Test(); getchar(); return 0; }
最新回复(0)