C++的html模板庫——google-ctemplete
阿新 • • 發佈:2019-02-02
C++也能用來寫網頁,Google的大佬們開發的google-ctemplete,就是一個很好的用於寫網頁的庫。
一.下載安裝包
點開之後直接點選download下載就完事了
二.安裝
首先解壓安裝包,完了以後
- ./configure
- make
- 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下就可以了。
再次執行,成功替換了。
剛接觸這個庫,感覺功能很強大,今天先溜了,日後補上用法!!!