动态保持视频文件存取容量VC

一个磁盘用于动态存储文件,保持最新文件存储,删除较早文件释放磁盘空间
BOOL fResult;
unsigned _int64 i64FreeBytesToCaller;
unsigned _int64 i64TotalBytes;
unsigned _int64 i64FreeBytes;
unsigned int freespace;
vector<char *> myFileVector;
fResult = GetDiskFreeSpaceEx (
	"D://",
	(PULARGE_INTEGER)&i64FreeBytesToCaller,
	(PULARGE_INTEGER)&i64TotalBytes,
	(PULARGE_INTEGER)&i64FreeBytes);	
if(fResult)
{
	freespace = i64FreeBytesToCaller/1024/1024/1024;
	if (freespace < 30)
	{
		vector<char *> myFileVector;
		TCHAR   path[200]; 
		SetCurrentDirectory("D:\\");
		GetCurrentDirectory(200,path); 
		CFileFind finder;
		BOOL bWorking = finder.FindFile("*.*");
		while (bWorking)
		{
			bWorking = finder.FindNextFile();
			CString filename= finder.GetFileName();
			if(filename == "." || filename == ".."||\
			    filename == "RECYCLER" || filename == "System Volume Information")
		        {
				//………………  
			}
			else if(finder.IsDirectory())
			{
				char chtemp[16];
				sprintf(chtemp,"%s",filename);
				myFileVector.push_back(chtemp);
			}
		}//End while bWorking
		if(myFileVector.size() > 0)
		{
			sort(myFileVector);
		}
		//int a= myFileVector.size();
		CString strdeletefile;
		while(freespace < 30)
		{     				
		        if(myFileVector.size()  > 0)
			{
				strdeletefile.Format("%s",myFileVector.at(0));
				myFileVector.erase(&myFileVector[0]);
				DeleteDirectory(strdeletefile);// 调用删除文件(strdeletfile是文件夹名)
				fResult = GetDiskFreeSpaceEx (
				      "D://",
				      (PULARGE_INTEGER)&i64FreeBytesToCaller,
				      (PULARGE_INTEGER)&i64TotalBytes,
				  (PULARGE_INTEGER)&i64FreeBytes);
			}
			else{
				break;
			}
			if(fResult)
			{
				freespace = i64FreeBytesToCaller/1024/1024/1024;
			}
			else
			{
				break;
			}
		}//End while freespace
	}//End if freespace
}//End if fResult
//得到磁盘剩余空间大小,得到文件夹名,文件夹名为日期格式,如20120701125900《2012年7月1日12时59分00秒》

转载于:https://my.oschina.net/u/198124/blog/64483

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值