标签归档:windows编程

c++文件系统(三)

五、文件和目录管理

4.获取程序所在的目录、程序模块路径,获取和设置当前目录
/* ****************************************************************************
 * cur_mod_dir.c 获取当前是目录、获取程序所在目录,获取模块路径
 * ***************************************************************************/
#include <Windows.h>
#include <stdio.h>
/* *********************************************************************
 * int main(void)
 * 功能:演示使用设置获取当前路径
 *          演示获取模块路径
 * ********************************************************************/

c++文件系统(二)

四、磁盘和驱动器管理

1.判断光驱中是否有光盘

/* *****************************************************************
* cdrom.c 判断光驱中是否有光盘
* ****************************************************************/
/*头文件*/
#include <Windows.h>
#include <stdio.h>
#include <tchar.h>
/*预定义*/
#define BUFSIZE 512
/* ***************************************************************
* int main(int argc,PCHAR argv[])
* 功能:应用程序主函数,根据输入的驱动器
*           根路径参数判断是否为光驱,是否放入光盘
* 参数:驱动器根路径,比如“D:\”
* **************************************************************/
int main(int argc,PCHAR argv[])
{
//存储文件系统类别名
CHAR szFileSystemNameBuffer[BUFSIZE];
DWORD dwLastError;
DWORD dwSystemFlags;
//判断输入运行时参数
if (argc != 2)
{
printf(“请输入驱动器的根路径,比如:\”D:\\\”\n”);
return -1;
}
//判断驱动器是否是否为CD\DVD ROM
if (GetDriveType(argv[1]) != DRIVE_CDROM)
{
printf(“驱动器%s不是CD/DVD ROM.\n”,argv[1]);
return -1;
}
//获取卷信息
if (!GetVolumeInformation(
argv[1],NULL,0,
NULL,NULL,
&dwSystemFlags,
szFileSystemNameBuffer,
BUFSIZE
))
{
dwLastError = GetLastError();
if (dwLastError == 21)
{
printf(“设备未就绪,请放入光盘!\n”);
return 0;
}
else
{
printf(“GetVolumeInfomation 错误 %d\n”,dwLastError);
}
}
printf(“光盘已经放入,文件系统类别%s.\n”,szFileSystemNameBuffer);
return 0;
}
2.获取磁盘分区的总容量、空闲容量、簇、扇区信息

c++文件系统(一)

一、概述

1.基本概念
(1)磁盘分区(Partitions)
(2)卷(Volumes):是存储设备上有文件系统管理区域的一块区域,是在逻辑上的相互隔离的存储单元。
2.文件系统的主要API
(1)磁盘和驱动器管理类API
(2)文件和目录管理
(3)高级文件系统操作
二、磁盘和驱动器管理