r

来源:互联网 发布:淘宝图片空间在哪里找 编辑:程序博客网 时间:2024/06/10 03:37
char *display_file_attribute(struct stat file_info,char *file_name){        char *pFile_mtime_size;        off_t file_size;        char size_str[FILE_SIZE_LEN];        char time_str[FILE_MTIME_LEN];        char file_mtime_size[FILE_MTIME_SIZE_LEN];        memset( &file_info,0,sizeof(file_info));        lstat( file_name, &file_info );        strftime(time_str, sizeof(time_str), "%Y%m%d%H%M%S",localtime(&file_info.st_mtime));        file_size=file_info.st_size;        sprintf(size_str,"%d",file_size);        sprintf(file_mtime_size,"%s*%s",size_str,time_str);        pFile_mtime_size=file_mtime_size;        return pFile_mtime_size;}int testdir(char *path){        struct stat buf;        if(lstat(path,&buf)<0)        {                return 0;        }        if(S_ISDIR(buf.st_mode))        {                return 1; //directory        }        return 0;}int directory(char *path){        DIR *db;        char filename[FILE_NAME];        char file_size_mtime[FILE_MTIME_SIZE_LEN];        char file_attribute[FILE_ATTRIBUTE];        struct stat file_info;        struct dirent *dir_info;        db=opendir(path);        if(db==NULL){                LOGE("Open dir error !\n");                return 0;        }        memset(filename,0,FILE_NAME);        memset(file_size_mtime,0,FILE_MTIME_SIZE_LEN);        memset(file_attribute,0,200);        while ((dir_info=readdir(db)))        {                if((strcmp(dir_info->d_name,".")==0)||(strcmp(dir_info->d_name,"..")==0))                continue;                else{                        sprintf(filename,"%s/%s",path,dir_info->d_name);                        if(testdir(filename)){                     LOGD("%s\n",filename);                                directory(filename);                     rmdir(filename);                        }else {                                memcpy(file_size_mtime,display_file_attribute(file_info,filename),FILE_MTIME_SIZE_LEN);                                sprintf(file_attribute,"%s*%s",filename,file_size_mtime);                                LOGD("%s\n",filename);                     remove(filename);                        }                }                memset(filename,0,64);        }        closedir(db);        return 0;}int RemovePath(char *path){    if(access(path,F_OK)==0&&testdir(path))    {            directory(path);    }    else LOGD("%s not exist\n",path);    return 0;}erase_volume(const char *volume) {    ui_set_background(BACKGROUND_ICON_INSTALLING);    ui_show_indeterminate_progress();    ui_print("Formatting %s...\n", volume);    ensure_path_mounted(volume);    RemovePath(volume);    ensure_path_unmounted(volume);    return 0;}


原创粉丝点击