我需要设计一个程序,任务是删除指定目录C:\temp下面修改时间超过30天的旧文件,麻烦大虾们帮忙,我一定给分!!给我个完全版(包括头文件)我目前基本什么都不懂呢希望来个现成的谢谢了如果需要请给我发邮件[email protected]请注明“大虾为你解答问题”谢谢各位了,感激不尽!
解决方案 »
- 紧急呼救!!!!!!!!!!! 关于Mobile 中ListView控件中插入位图的问题!!
- 咱这社会……散分,积攒人缘和RP
- email发功能(C#基于SMTP)高手帮我看哪里错了!谢谢
- 如何在DLL里运行vbscript脚本?折腾了快一个星期了,帮忙!
- 用VC如何实现两个WORD文档的合并?
- 请问vc中判断某个数是否能整除于100的函数是哪个?
- VC Socket网络编程 UDP文件传输 接受端只能收到前面的8k数据 怎么回事儿?
- 如分不够,再加,这个问题是否属多文档应用?
- 奇怪的错误
- 怎么判断当前操作系统??
- CFile的一个简单问题
- 用 CListBox 手动创建列表框的问题 ?????
#include "io.h"
#include "stdio.h"
#include "time.h"/*********************************************************************
* find_proc:
* the callback function called while a file matched
* return true to cancel search
*********************************************************************/
typedef bool (*find_proc)(const char* path, _finddata_t *fdata);/*********************************************************************
* SearchFile: file search function
* return true if search is cancelled, else return true
* the file parameter specifys the filespec to search
*********************************************************************/
bool SearchFile(const char* path, const char* file, find_proc ffind)
{
ASSERT(path);
ASSERT(file);
ASSERT(ffind); char pathstr[MAX_PATH];
strcpy(pathstr, path); // remove the last '\'
int len = strlen(path);
if(pathstr[len-1] == '\\')
pathstr[len-1] = '\0'; char filespec[MAX_PATH];
sprintf(filespec, "%s\\%s", pathstr, file);
_finddata_t data;
long handle = _findfirst(filespec, &data);
if(handle == -1) return true; // repeat to search
bool cancel = false;
do{
if(data.attrib&_A_SUBDIR)
{
// search the subdir if the subdir is not "." and not ".."
if( strcmp(data.name, ".") && strcmp(data.name, "..") )
{
sprintf(filespec, "%s\\%s", pathstr, data.name);
if( cancel = SearchFile(filespec, file, ffind) )
break;
}
}
// call the find_proc to process this file
// break the loop if find_proc return false
else if( cancel = (*ffind)(pathstr, &data) )
break;
}
while(_findnext(handle, &data) != -1); _findclose(handle);
return cancel;
}bool DelOldFile(const char* path, _finddata_t *fdata)
{
time_t t;
time(&t);
t += 30*24*60*60;
char buf[MAX_PATH];
if(fdata->time_write < t)
{
sprintf(buf, "%s\\%s", path, fdata->name);
TRACE("remove %s\r\n", buf);
remove(buf);
}
return false;
}int main(int argc, char* argv[])
{
SearchFile("C:\\temp\\", "*.tmp", DelOldFile);
}
bool DelOldFile(const char* path, _finddata_t *fdata)
{
time_t t;
time(&t);
t += 30*24*60*60;
char buf[MAX_PATH];
if(fdata->time_write < t)
{
sprintf(buf, "%s\\%s", path, fdata->name);
TRACE("remove %s\r\n", buf);
remove(buf);
}
return false;
}int main(int argc, char* argv[])
{
SearchFile("C:\\temp\\", "*.tmp", DelOldFile);
}
错误如下C:\程序\删除.cpp(3) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(3) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(3) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(3) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(3) : error C2065: 'time_t' : undeclared identifier
C:\程序\删除.cpp(3) : error C2146: syntax error : missing ';' before identifier 't'
C:\程序\删除.cpp(3) : error C2065: 't' : undeclared identifier
C:\程序\删除.cpp(4) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(4) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(4) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(4) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(4) : error C2065: 'time' : undeclared identifier
C:\程序\删除.cpp(5) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(5) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(5) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(5) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(6) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(6) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(6) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(6) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(7) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(7) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(7) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(7) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(7) : error C2065: 'MAX_PATH' : undeclared identifier
C:\程序\删除.cpp(7) : error C2057: expected constant expression
C:\程序\删除.cpp(7) : error C2466: cannot allocate an array of constant size 0
C:\程序\删除.cpp(7) : error C2133: 'buf' : unknown size
C:\程序\删除.cpp(8) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(8) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(8) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(8) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(9) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(9) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(9) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(9) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(9) : error C2065: 'fdata' : undeclared identifier
C:\程序\删除.cpp(9) : error C2227: left of '->time_write' must point to class/struct/union
C:\程序\删除.cpp(10) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(10) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(10) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(10) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(11) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(11) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(11) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(11) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(11) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(11) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(11) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(11) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(11) : error C2065: 'sprintf' : undeclared identifier
C:\程序\删除.cpp(11) : error C2227: left of '->name' must point to class/struct/union
C:\程序\删除.cpp(12) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(12) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(12) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(12) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(12) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(12) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(12) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(12) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(12) : error C2065: 'TRACE' : undeclared identifier
C:\程序\删除.cpp(13) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(13) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(13) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(13) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(13) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(13) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(13) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(13) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(13) : error C2065: 'remove' : undeclared identifier
C:\程序\删除.cpp(14) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(14) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(14) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(14) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(15) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(15) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(15) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(15) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(16) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(16) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(16) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(16) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(21) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(21) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(21) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(21) : error C2018: unknown character '0xa1'
C:\程序\删除.cpp(21) : error C2065: 'SearchFile' : undeclared identifier
C:\程序\删除.cpp(22) : warning C4508: 'main' : function should return a value; 'void' return type assumed
你可以用查找替换把它全部换成半角空格//这里就是计算当前时间以前30天:
time(&t); //取当前时间,单位秒
t -= 30*24*60*60; //减去30天的秒数,24小时/天,60分/小时,60秒/分//如果修改时间在30天以前
if(fdata->time_write < t)//指定路径和文件匹配符,如:"C:\\temp", "*.*",搜C:\temp下所有文件,用"*.txt"则搜所有
//文本文件,这与windows的文件查找匹配方式是一样的
SearchFile("C:\\temp\\", "*.tmp", DelOldFile); //搜C:\temp\*.tmp