2018年1月1日 星期一

TlcMultiple 小工具程式原碼

用於處理 CxxlMan2 函數庫 TLC 文件的同名項目的小工具。
最好的處理方式是 匯入->排序->匯出,以人工方式處理標示同名的項目。
除非確定自動刪除同名項目不會有問題,否則請小心使用 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;
}







沒有留言:

張貼留言