Linux环境下用C++删除指定文件
”Talk is cheap, show me the code!“
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
const long day = 86400;
//获取文件的给更新时间
long get_file_modify_time(string filepath)
{
struct stat filehand;
FILE *fp;
fp = fopen(filepath.c_str(), "r");
int fileid = fileno(fp);
fstat(fileid, &filehand);
fclose(fp);
return filehand.st_mtime;
}
//获取文件夹中的所有文件
void get_files(const string dirname, vector &filelist)
{
if(dirname.empty())
return;
struct stat s;
stat(dirname.c_str(), &s);
if(!S_ISDIR(s.st_mode))
return;
DIR *dirhand = opendir(dirname.c_str());
if(NULL == dirhand){
exit(EXIT_FAILURE);
}
dirent *fp = nullptr;
while((fp = readdir(dirhand)) != nullptr){
if(fp->d_name[0] != '.'){//十分重要的一行(?)
string filename = dirname + "/" + s