最好的處理方式是 匯入->排序->匯出,以人工方式處理標示同名的項目。
除非確定自動刪除同名項目不會有問題,否則請小心使用 MultipleClear() 功能
下載:
TlcMultiple_1_0_0.zip
使用範例:
先安裝好 CxxlMan2 函數庫,以下是使用範例
#include <iostream> #include <fstream> #include "TLCMULTIPLE.HPP"
using namespace std; using namespace CxxlMan2;
// 假設編譯成 TcpMultClear.exe,命令用法如下 // TcpMultClear <TCP 文件檔名> <TCP 新檔名> // // 若有名稱同樣的項目會在前頭加二個星號 ** // 會排序過以方便比對 int main(int argc, char* argv[]) { // 由 TCP 文件檔名匯入產生 TCP 的 cxxlComposite ifstream fin(argv[1]); Smart_Ptr<cxxlComposite<const u8_string, false> > Old_cxxlComposite = NonUniqueTxtCompositeImport(fin); fin.close();
// 交給 TLC_Multiple 處理 Smart_Ptr<ITLC_Multiple> TM_Ptr = ITLC_Multiple::Create(Old_cxxlComposite); // TM_Ptr->MultipleClear(); // 自動清除重複名稱的項目 TM_Ptr->Sort();
ofstream fout(argv[2], ios_base::out | ios_base::trunc); TM_Ptr->Export(fout);
// 自行還原為 TCP自行寫入檔案,不會加星號 // auto out_Composite = TM_Ptr->GetTLC(); // NonUniqueTxtCompositeExport(fout, out_Composite);
fout.close(); return 0;
}
沒有留言:
張貼留言