这里仅仅是构建一个简单的程序来删除bak文件,因为我在一个文件夹下边写C/C++程序,经常会产生bak文件,在别的地方都是些一个bat文件,调用CMD命令来删除bak文件,但是既然本身就在C程序的目录中,为何不自己写一个呢?于是,我就利用VC中的_finddata_t数据结构以及相关的文件查找方法写了一个程序,专门删除本目录下的bak文件。就当作是学习C语言的练习了。
/* * 删除bak文件。注意:_findnext的返回值,如果找到为0,否则为-1 * 当然_findfirst返回值要么为文件号,要么为-1,所以不能使用handle作为判断,因为-1也为true */ #include #include #include #define size_f sizeof(struct _finddata_t) int main(int argc, char *argv[]) { int handle; int ret = 1; struct _finddata_t* finddata = (struct _finddata_t*)malloc(size_f); char* filename = "*.bak/0"; if (finddata == NULL) { exit(-1); } handle = _findfirst( filename, finddata); //printf("%d/n", handle); if (handle > -1) { while (ret > -1) { printf("删除一个'.bak'文件:%s/n", finddata->name); remove(finddata->name); free(finddata); finddata = (struct _finddata_t*)malloc(size_f); if (finddata == NULL) { break; } ret = _findnext(handle, finddata); //printf("%d, %d/n", ret, handle); } _findclose(handle); } if (finddata != NULL) { free(finddata); } return 0; }