最好的處理方式是 匯入->排序->匯出,以人工方式處理標示同名的項目。
除非確定自動刪除同名項目不會有問題,否則請小心使用 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;
}
沒有留言:
張貼留言