C win平台路徑管理類

2021-08-15 08:57:26 字數 2729 閱讀 9353

#ifndef __path_manager_h__

#define __path_manager_h__

#include #include class pathmanager

; pathmanager(const pathmanager&) {};

pathmanager& operator=(const pathmanager &) {};

public:

~pathmanager(void);

static pathmanager* getinstance();

//判斷是否是目錄

bool isdirectory(const std::string& path);

//由路徑獲取檔名

std::string getfilename(const std::string& path);

//由路徑獲取目錄

std::string getfiledirectory(const std::string& path);

//將一條完整路徑進行分割,獲取每一級目錄,層次依次加深

//path:檔案或資料夾路徑

std::vectorgetdirectoryhierarchy(const std::string& path);

//將傳入的所有完整路徑進行分割,獲取每一級目錄並合併重複目錄,層次依次加深

//paths:檔案或資料夾路徑

std::vectorgetdirectoryhierarchy(const std::vector& paths);

//由完整檔名獲取不帶字尾的檔名

std::string getnamewithoutsuffix(const std::string& filename);

//由完整檔名獲取字尾

std::string getsuffix(const std::string& filename);

//由一條完整路徑建立目錄

//path:檔案或資料夾路徑

//return:成功建立路徑的數量

int createdirectory(const std::string& path);

//由多條完整路徑建立目錄

//paths:檔案或資料夾路徑

//return:成功建立路徑的數量

int createdirectory(const std::vector& paths);

private:

static pathmanager* _pathmanager;

};#endif //__path_manager_h__

#include "stdafx.h"

#include "pathmanager.h"

#include using namespace std;

pathmanager* pathmanager::_pathmanager = nullptr;

pathmanager::~pathmanager(void)

}pathmanager* pathmanager::getinstance()

return _pathmanager;

}bool pathmanager::isdirectory(const std::string& path)

return true;

}std::string pathmanager::getfilename(const std::string& path)

std::string pathmanager::getfiledirectory(const std::string& path)

//將一條完整路徑進行分割,獲取每一級目錄,層次依次減小

//路徑可以為檔案或資料夾路徑

std::vectorgetdirectoryhierarchyreverse(const std::string& path)

return directoryhierarchy;

}std::vectorpathmanager::getdirectoryhierarchy(const std::string& path)

std::vectorpathmanager::getdirectoryhierarchy(const std::vector& paths)

sort(directoryhierarchy.begin(), directoryhierarchy.end());

directoryhierarchy.erase(unique(directoryhierarchy.begin(), directoryhierarchy.end()), directoryhierarchy.end());

return directoryhierarchy;

}std::string pathmanager::getnamewithoutsuffix(const std::string& filename)

std::string pathmanager::getsuffix(const std::string& filename)

int pathmanager::createdirectory(const std::string& path)

} return pathcount;

}int pathmanager::createdirectory(const std::vector& paths)

return pathcount;

}

管理類命令

管理類命令 hostname 顯示主機名稱 uname顯示系統資訊 top 顯示當前系統中耗費資源最多的程序 ps 顯示瞬間的程序狀態 du 顯示指定的檔案 目錄 已使用的磁碟空間的總量 df 顯示檔案系統磁碟空間的使用情況 free 顯示當前記憶體和交換空間的使用情況 ifconfig 顯示網路介...

管理類聯考

管理類聯考 數學 問題求解15題 條件充分性判斷10題,每題3分 共75分 高中 初中 小學數學知識的運用 邏輯推理 30題,每題2分 共60分 形式推理 論證推理 綜合推理 寫作論證有效性分析1題30分 論說文1題35分 共65分 論證有效性分析 較快地找出一段論證中的漏洞 論說文良好的議 寫作能...

磁碟管理類命令

磁碟管理類命令 磁碟管理類命令包括顯示磁碟資訊 檢視檔案大小及磁碟掛載等相關命令。df 介紹df命令的使用方法。du 介紹du命令的使用方法。mount 介紹mount命令的使用方法。badblocks 介紹 badblocks 命令的使用方法。命令的使用方法介紹 df 介紹df命令的使用方法。說明...