摘要:
string类的push_back的应用-按字符存储数据示例View Code #include <iostream>#include <fstream>#include <string>using namespace std;int main (){ string str; ifstream file("F:\\log.txt",ios::in); while (!file.eof()) { str.push_back(file.get()); } cout << str; return 0;} 阅读全文
摘要:
1、BEGIN模块,通常用来改变内建变量的值,如 OFS,RS和FS等,以及打印标题。如:awk 'BEGIN{FS=" ";OFS="\t";ORS="\n"}{print $1,$2,$3}' file //输入域分隔符为空格,输出域分隔符为tab,记录分隔符为\n。$awk 'BEGIN{print "TITLE TEST"}2、END在整个输入文件处理完成后被执行。如$awk 'END{print "The number of records is" NR 阅读全文
摘要:
awk -F ":" 'BEGIN{}; { };END{} ' filesawk [options] 'script' var=value file(s)awk [options] -f scriptfile var=value file(s)使用awk可以很方便处理结构化文本中每一行中的每一列。section=$(sed '1,$p' ${everyname} | sed 's/,/ /g' | sed 's/: /:/g' | head -n 100 | awk '{if (($1 阅读全文
摘要:
1、AddSectionDictionary(section_name) returns a sub-dictionary associated with the given section_name (for instance, dict.AddSectionDictionary("MYSECT") for a template like {{#MYSECT}}...{{/MYSECT}}... 阅读全文
摘要:
1、AddSectionDictionary(section_name) returns a sub-dictionary associated with the given section_name (for instance, dict.AddSectionDictionary("MYSECT") for a template like {{#MYSECT}}...{{/MYSECT}}... 阅读全文
摘要:
1、TemplateDictionary, 用来在主函数中扩展模板。(used to expand a template file. It is used by the main functions for expanding a template, found in template.h.)TemplateCache,模板对象的集合。TemplateNamelist provides various introspection routines on collections of Template objects.TemplateModifier and PerExpandData are 阅读全文
摘要:
如下小程序,如果输入错误,不是整形,则输入的这个数会留在缓存区,没有被type取到,type输出默认值或初始值或上次取得到的值(视初始化int type = 0这一句的位置,及编译器优化时,把它放到了那里,在如下程序中,GCC有可能把其提到循环的外面)。因为缓存区中有数据,所以cin不会等待用户输入,直接去缓存中读取,发现缓存中的数据不是整形,便把这个数据流在缓存区中,如此反复。这有点类似epoll的ET模式,只要缓存中有数据,没有新的事件发生,则不会提示用户再去读,得用户把缓存中的数据全部读完才行。voidmain( void ){while(1){inttype = 0;cin >& 阅读全文
摘要:
1、ctemplate高级【转自1】 Modifier(修改器),普通变量的类型(html,js或者其他),会进行校验和编码处理,比如html类型会将&转换成&。类型有html,pre,url query,javascript,css和json。如果觉得在模板变量中定义这些麻烦,可以在加载模板是使用google::Template::GetTemplateWithAutoEsc... 阅读全文
摘要:
1、显示循环时,可以使用{{#片断名}}。 模板字典类似Key和Value的结构,对应的是变量名和值。 片断是可以有多条记录的,如果要显示列表,可以定义为片断,获取多条记录填充到字典中。 片断可以显示,也可以不显示。如果片断的字典有数据,显示。如果片断的字典没有数据,默认是不显示的,可以调用ShowSection来显示。 2、一个结合了片断名,包含模板的示例模板1ctexample.tpl<html><head><title> {{NAME}} </title></head>{{!This is a example of templa 阅读全文
摘要:
1、linux下的web开发,动态页面生成很费周折,通常利用cgi接受请求,然后返回页面给请求端。代码逻辑和显示逻辑写在一起,是一件很痛苦的事情。C++里的googlectemplate,便是解决这个问题。【1】ctemplate解决的主要问题是将文字表达和逻辑分离开来:文字模板解决如何用合适的文字和形式来表示问题,而逻辑问题则由文字模板的调用者在源代码中完成。ctemplate大体上分为两个部分,一部分是模板,另一部分是数据字典。模板定义了界面展现的形式(V),数据字典就是填充模板的数据(M),你自己写业务逻辑去控制界面展现(C),典型的MVC模型。2、ctemplate模板中有四中标记,对 阅读全文