1. 程式人生 > >C++的html模板庫——google-ctemplete

C++的html模板庫——google-ctemplete

C++也能用來寫網頁,Google的大佬們開發的google-ctemplete,就是一個很好的用於寫網頁的庫。

一.下載安裝包

點開之後直接點選download下載就完事了

二.安裝

首先解壓安裝包,完了以後

  1. ./configure
  2. make
  3. sudo make install

這時因為我們在./configure時沒有加上選項給上安裝的路徑,就自動安裝到/usr/local/lib庫中了。


三.簡單案例

example.tpl程式如下(這本質上就是一個html網頁,只是是一個模板網頁)

{{NAME}}你好 , 
   恭喜你中獎了,獎金總額是:$ {{VALUE}}! 
{{#IN_CA}}您應繳納的稅金總額為: ${{TAXED_VALUE}}。 {{/IN_CA}}

test.cc檔案如下

#include <stdlib.h> 
#include <string> 
#include <iostream>   
#include <google/template.h>   
int main ( int argc , char ** argv  ) { 
  google::TemplateDictionary dict( "example"); 
  dict.SetValue ( "NAME" , "John Smith"  ); 
  int winnings = rand () % 100000 ; 
  dict.SetIntValue ( "VALUE" , winnings  ); 
  dict.SetFormattedValue ( "TAXED_VALUE" , "%.2f" , winnings * 0.83  ); 
  // For now, assume everyone lives in CA. 
  //   // (Try running the program with a 0 here instead!) 
  if ( 1  ) { 
      dict . ShowSection ( "IN_CA"  ); 
  } 
  google :: Template * tpl = google :: Template :: GetTemplate ( "example.tpl" , 
                                                                 google :: DO_NOT_STRIP ); 
  std :: string output ; 
  tpl -> Expand (& output , & dict ); 
  std :: cout << output ; 
  return 0 ; 
}
顯示出來可能有點亂,直接複製粘貼出來就完事了。

在我們使用g++編譯的時候,需要加上響應的選項

g++ test.cc -o test -lctemplate -lpthread -std=c++11

編譯出來可能會有一些警告,暫時不管


這個時候執行./test可能還會有如下的問題


把/usr/local/lib下的libctemplate.so.0拷貝一份到/usr/lib下就可以了。

再次執行,成功替換了。


剛接觸這個庫,感覺功能很強大,今天先溜了,日後補上用法!!!