boost filesystem 簡明說明

2021-09-19 09:52:03 字數 4123 閱讀 2057

boost/filesystem 涉及到兩個標頭檔案

這裡是最簡單的說明,拋棄了模版的形式,使用最常見的呼叫

boost::filesystem::path
建構函式和賦值函式

模板,會把資料轉為內部形式,但不會進行化簡("foo/.//../bar" not change)

path::path(const string/path& source);

path::path(inputiterator begin, inputiterator end);

path& path::operator=(const string/path& source);

path& path::operator=(inputiterator begin, inputiterator end);

join函式

模板,可以正確處理分割("hello"/"world" -> "hello/world")

path& path::operator/=(const string/path& source);

path operator/ (const path& lhs, const path& rhs);

concat函式

模板,單純相連,不處理分割("hello"+"world" -> "helloworld", "hello/"+"/world" -> "hello//world")

path& path::operator+=(const string/path& source);

path& path::concat(const string/path& source);

path& path::concat(inputiterator begin, inputiterator end);

獲取path內容

// eg. //root/path/file

path path::root_name() const; // //root

bool path::has_root_name() const;

path path::root_directory() const // /

bool path::has_root_directory() const;

path path::root_path() const; // //root/ <= join(//root, /)

bool has_root_path() const;

path path::relative_path() const; // path/file

bool path::has_relative_path() const;

path path::parent_path() const; // //root/path (dir/ -> dir)

bool path::has_parent_path() const;

path path::filename() const; // file (. -> ., / -> .)

bool path::has_filename() const;

path path::stem() const; // stem.extension == filename

bool path::has_stem() const;

path path::extension() const; // stem.extension == filename

bool path::has_extension() const;

bool is_absolute() const; // root_path

bool is_relative() const;

修改path內容

void path::clear();

void path::swap(path& rhs);

void swap(path& lhs, path& rhs);

path& path::make_preferred();

// win: path/file -> path\file

path& path::remove_filename();

// path/dir/ -> path/dir, path/file -> path

path& path::replace_extension(const string/path& new_extension="");

// /dir/file.replace_extension(".abc") -> /dir/file.abc

按成分分析path(boost 1.60)

path path::lexically_normal() const;

path lexically_normal(const path&);

// foo/../bar -> bar

path path::lexically_relative(const path& base) const;

path lexically_relative(const path& p, const path& base);

// a/d, a/b/c -> ../../d

返回path內容

// 原樣返回

const string& path::native() const;

const char* path::c_str() const;

size_t path::size() const; // in 1.60

bool path::empty() const;

string path::string() const;

wstring path::wstring() const;

u16string path::u16string() const; // in 1.60

u32string path::u32string() const; // in 1.60

// generic,同原樣返回

string path::generic_string() const;

wstring path::generic_wstring() const;

u16string path::generic_u16string() const;

u32string path::generic_u32string() const;

比較path內容

// 原樣比較,單純文字比較

int path::compare(const string/path&) const;

// -1 mean self < other, 0 mean equal, 1 mean >

bool operator< (const path& lhs, const path& rhs);

bool operator<=(const path& lhs, const path& rhs);

bool operator> (const path& lhs, const path& rhs);

bool operator>=(const path& lhs, const path& rhs);

bool operator==(const path& lhs, const path& rhs);

bool operator!=(const path& lhs, const path& rhs);

迭代

iterator path::begin() const;

iterator path::end() const;

reverse_iterator path::rbegin() const;

reverse_iterator path::rend() const;

boost::filesystem::file_status

Mysql資料型別簡明說明

mysql資料型別 分為整數型 帶小數點的和字元型 其他型。網上很多的內容來介紹,但是都稍嫌複雜,這裡做乙個簡明介紹 從小到大是 tiniint samllint mediumint int bigint 位元組 byte 分別是 1 2 3 4 8.他們所可以容納範圍是這樣計算的 例如是 n個位元...

Boost filesystem 使用小筆記

今天拿起手要用c 寫個小工具,從指定的目錄遞迴遍歷檔案,然後做一下處理。又翻了一下boost的filesystem庫。小結一下,希望能加深印象,免得下次又要檢視文件。1.path物件就是乙個跨平台的路徑物件。有許多方法訪問路徑的各個部分,也用它的iterator迭代路徑中的各個部分 path構造目錄...

beini奶瓶 無線網路蹭網破解 簡明說明

1 使用到的軟體 beini 1.2.2 ewsa 密碼字典生成器 vmware虛擬機器 2 使用到的硬體 usb外接網絡卡 u盤 用於存放握手資料報,再放到windows下暴力破解用的 3 部署方式 把beini的iso檔案放到虛擬機器中光碟啟動,插入外接網絡卡,進行掃瞄破解,破解不出來的匯出到u...