亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? chm__dissect_8cpp-source.html

?? It is a chm file viewer lib with source code
?? HTML
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>chm_dissect.cpp Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center><hr><h1>chm_dissect.cpp</h1><a href="chm__dissect_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="preprocessor">#ifdef HAVE_CONFIG_H</span>00002 <span class="preprocessor"></span><span class="preprocessor">#include &lt;config.h&gt;</span>00003 <span class="preprocessor">#endif</span>00004 <span class="preprocessor"></span>00005 <span class="preprocessor">#include &lt;iostream&gt;</span>00006 <span class="preprocessor">#include &lt;cstdlib&gt;</span>00007 <span class="preprocessor">#include &lt;iterator&gt;</span>00008 <span class="preprocessor">#include &lt;algorithm&gt;</span>00009 <span class="preprocessor">#include &lt;list&gt;</span>00010 00011 <span class="preprocessor">#include &lt;fstream&gt;</span>00012 00013 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>00014 <span class="preprocessor">#include &lt;sys/stat.h&gt;</span>00015 00016 <span class="preprocessor">#include &lt;cerrno&gt;</span>00017 <span class="preprocessor">#include &lt;cstring&gt;</span>00018 00019 <span class="preprocessor">#include "<a class="code" href="chmxx_8h.html">chmxx.h</a>"</span>00020 00021 <span class="keyword">using</span> <span class="keyword">namespace </span>std;00022 <span class="keyword">using</span> <span class="keyword">namespace </span>chm;00023 00024 <span class="keyword">namespace </span>{00025 00026 <span class="keywordtype">void</span> print_topics_tree (<span class="keyword">const</span> chm_topics_tree *tree, <span class="keywordtype">int</span> level = 0)00027 {00028   <span class="keywordflow">if</span> ( level != 0 )00029       cout &lt;&lt; string(level * 4, <span class="charliteral">' '</span>) &lt;&lt; tree-&gt;title &lt;&lt; endl;00030 00031   for_each (tree-&gt;children.begin(), tree-&gt;children.end(),00032       bind2nd(ptr_fun(print_topics_tree), level + 1));00033 }00034 00035 <span class="keywordtype">void</span> error (<span class="keyword">const</span> string&amp; pname, <span class="keyword">const</span> string&amp; err = <span class="stringliteral">""</span>) {00036   <span class="keywordflow">if</span> ( err == <span class="stringliteral">""</span> ) {00037       cerr &lt;&lt; pname &lt;&lt; <span class="stringliteral">": Usage: "</span> &lt;&lt; pname &lt;&lt; <span class="stringliteral">" &lt;file.chm&gt; list|get|listall|export|stats|topics|index|indexall [&lt;path|text&gt;]"</span> &lt;&lt; endl;00038   } <span class="keywordflow">else</span> {00039       cerr &lt;&lt; pname &lt;&lt; <span class="stringliteral">": "</span> &lt;&lt; err &lt;&lt; endl;00040   }00041   exit(1);00042 }00043 00044 <span class="keywordtype">void</span> do_export (<span class="keyword">const</span> string&amp; pname, <span class="keyword">const</span> chmfile&amp; chm, <span class="keyword">const</span> string&amp; root, <span class="keyword">const</span> string&amp; p)00045 {00046   <span class="keywordflow">if</span> ( mkdir(root.c_str(), 0755) == -1 &amp;&amp; errno != EEXIST)00047       error (pname, string() + <span class="stringliteral">"Unable to create the target directory ["</span> + root + <span class="stringliteral">"]: "</span> + strerror(errno));00048 00049   list&lt;string&gt; dirs;00050   chm.readdir(p, dirs, chmfile::dirs);00051 00052   list&lt;string&gt; files;00053   chm.readdir(p, files, chmfile::files);00054 00055   <span class="keywordflow">for</span> ( list&lt;string&gt;::iterator it = dirs.begin(); it != dirs.end(); it++ ) {00056       do_export (pname, chm, root + *it, p + *it);00057   }00058 00059   <span class="keywordflow">for</span> ( list&lt;string&gt;::iterator it = files.begin(); it != files.end(); it++ ) {00060       string path = root + *it;00061       ofstream out(path.c_str());00062       <span class="keywordflow">if</span> ( !out )00063           error (pname, string() + <span class="stringliteral">"Unable to open export file for writing: "</span> + strerror (errno));00064       chm.read (p + *it, out);00065       out.close();00066   }00067 }00068 00069 <span class="keywordtype">void</span> list_all (<span class="keyword">const</span> string&amp; pname, <span class="keyword">const</span> chmfile&amp; chm, <span class="keyword">const</span> string&amp; root = <span class="stringliteral">"/"</span>)00070 {00071   list&lt;string&gt; l;00072   chm.readdir (root, l);00073   <span class="keywordflow">for</span> (list&lt;string&gt;::iterator it = l.begin(); it != l.end(); it++ ) {00074       string&amp; n = *it;00075       cout &lt;&lt; root &lt;&lt; n &lt;&lt; endl;00076       <span class="keywordflow">if</span> ( n[n.size()-1] == <span class="charliteral">'/'</span> ) list_all (pname, chm, root + n);00077   }00078 }00079 00080 }00081 <a name="l00082"></a><a class="code" href="chm__dissect_8cpp.html#a4">00082</a> <span class="keywordtype">int</span> <a class="code" href="chm__dissect_8cpp.html#a4">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[])00083 {00084   <span class="keywordflow">if</span> ( argc &lt; 3 ) error(argv[0]);00085 00086   chmfile chm(argv[1]);00087   <span class="keywordflow">if</span> ( !chm ) error (argv[0], <span class="stringliteral">"Invalid chm file"</span>);00088 00089   string cmd = argv[2];00090 00091   <span class="keywordflow">if</span> (  cmd == <span class="stringliteral">"list"</span> ) {00092       <span class="keywordflow">if</span> ( argc != 4 ) error(argv[0]);00093       list&lt;string&gt; dc;00094       chm.readdir (argv[3], dc);00095       ostream_iterator&lt;string&gt; out(cout, <span class="stringliteral">"\n"</span>);00096       copy(dc.begin(), dc.end(), out);00097       <span class="keywordflow">return</span> 0;00098   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( cmd == <span class="stringliteral">"get"</span> ) {00099       <span class="keywordflow">if</span> ( argc != 4 ) error(argv[0]);00100       streambuf *sb = chm.open(argv[3]);00101       <span class="keywordflow">if</span> ( !sb )00102           error (argv[0], <span class="stringliteral">"Could not find given path inside the archive"</span>);00103       cout &lt;&lt; sb;00104       <span class="keyword">delete</span> sb;00105       <span class="keywordflow">return</span> 0;00106   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( cmd == <span class="stringliteral">"listall"</span> ) {00107       list_all (argv[0], chm);00108       <span class="keywordflow">return</span> 0;00109   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( cmd == <span class="stringliteral">"stats"</span> ) {00110       cout &lt;&lt; <span class="stringliteral">"---Statistics---"</span> &lt;&lt; endl;00111       cout &lt;&lt; <span class="stringliteral">"     Title: "</span> &lt;&lt; chm.get_title() &lt;&lt; endl;00112       cout &lt;&lt; <span class="stringliteral">" Generator: "</span> &lt;&lt; chm.get_generator() &lt;&lt; endl;00113       cout &lt;&lt; <span class="stringliteral">"      Home: "</span> &lt;&lt; chm.get_home_file() &lt;&lt; endl;00114       cout &lt;&lt; <span class="stringliteral">"    Topics: "</span> &lt;&lt; chm.get_topics_file() &lt;&lt; endl;00115       cout &lt;&lt; <span class="stringliteral">"     Index: "</span> &lt;&lt; chm.get_index_file() &lt;&lt; endl;00116       <span class="keywordflow">return</span> 0;00117   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( cmd == <span class="stringliteral">"topics"</span> ) {00118       <span class="keywordflow">if</span> ( chm.get_topics_tree() ) {00119           cout &lt;&lt; <span class="stringliteral">"Topics tree:"</span> &lt;&lt; endl;00120           print_topics_tree (chm.get_topics_tree());00121       } <span class="keywordflow">else</span> {00122           cout &lt;&lt; <span class="stringliteral">"No topics tree found"</span> &lt;&lt; endl;00123       }00124       <span class="keywordflow">return</span> 0;00125   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( cmd == <span class="stringliteral">"export"</span> ) {00126       <span class="keywordflow">if</span> ( argc != 4 ) error(argv[0]);00127       cout &lt;&lt; <span class="stringliteral">"Exporting.."</span> &lt;&lt; endl;00128       string w = argv[3];00129       <span class="keywordflow">if</span> ( !w.empty() &amp;&amp; w[w.size() - 1] != <span class="charliteral">'/'</span> ) w += <span class="charliteral">'/'</span>;00130       do_export (argv[0], chm, w, <span class="stringliteral">"/"</span>);00131       <span class="keywordflow">return</span> 0;00132   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( cmd == <span class="stringliteral">"index"</span> ) {00133       <span class="keywordflow">if</span> ( argc != 4 ) error(argv[0]);00134 00135       list&lt;chm_search_match&gt; f;00136       chm.cache_search_database();00137       chm.search_index(argv[3], f);00138 00139       <span class="keywordflow">for</span> ( list&lt;chm_search_match&gt;::iterator it = f.begin(); it != f.end(); it++ )00140           <span class="keywordflow">for</span> ( size_t i = 0; i &lt; it-&gt;documents.size(); i++ )00141               cout &lt;&lt; it-&gt;key &lt;&lt; <span class="stringliteral">"|"</span> &lt;&lt; it-&gt;is_title &lt;&lt; <span class="stringliteral">"|"</span> &lt;&lt; it-&gt;documents[i].offsets.size() &lt;&lt; <span class="stringliteral">"|"</span>00142                   &lt;&lt; it-&gt;documents[i].path &lt;&lt; <span class="stringliteral">"|"</span> &lt;&lt; it-&gt;documents[i].title &lt;&lt; endl;00143 00144       <span class="keywordflow">return</span> 0;00145   } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( cmd == <span class="stringliteral">"indexall"</span> ) {00146       <span class="keywordflow">if</span> ( argc != 4 ) error(argv[0]);00147 00148       list&lt;chm_search_match&gt; f;00149       chm.cache_search_database();00150       chm.search_index(argv[3], f, <span class="keyword">false</span>, <span class="keyword">false</span>);00151 00152       <span class="keywordflow">for</span> ( list&lt;chm_search_match&gt;::iterator it = f.begin(); it != f.end(); it++ )00153           <span class="keywordflow">for</span> ( size_t i = 0; i &lt; it-&gt;documents.size(); i++ )00154               cout &lt;&lt; it-&gt;key &lt;&lt; <span class="stringliteral">"|"</span> &lt;&lt; it-&gt;is_title &lt;&lt; <span class="stringliteral">"|"</span> &lt;&lt; it-&gt;documents[i].offsets.size() &lt;&lt; <span class="stringliteral">"|"</span>00155                   &lt;&lt; it-&gt;documents[i].path &lt;&lt; <span class="stringliteral">"|"</span> &lt;&lt; it-&gt;documents[i].title &lt;&lt; endl;00156 00157       <span class="keywordflow">return</span> 0;00158   }00159 00160   error (argv[0], <span class="stringliteral">"Invalid second argument"</span>);00161 }</pre></div><hr>Copyright &copy; 2003 Indrek Mandre <script language="JavaScript">  document.write ('&lt;<a href="mailto:indrek' + '@' + 'mare.ee">indrek' + '@' + 'mare.ee</a>&gt;');</script><p>&nbsp;</p>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品偷自拍| 日韩视频一区二区三区在线播放| 亚洲精品国产无套在线观| 欧美一区二区免费观在线| 成人av中文字幕| 日本va欧美va瓶| 亚洲毛片av在线| 久久久久久久久伊人| 欧美日韩亚洲高清一区二区| 国产伦精一区二区三区| 婷婷国产v国产偷v亚洲高清| 中文字幕一区二区三区视频| 欧美精品一区二区三区蜜桃 | 最新国产精品久久精品| 欧美一级久久久久久久大片| 色综合咪咪久久| 国产麻豆精品在线观看| 亚洲gay无套男同| 国产精品久久久久影视| 久久伊人中文字幕| 日韩精品一区二区三区四区视频 | 日本久久精品电影| 国产成人精品影院| 激情小说亚洲一区| 琪琪久久久久日韩精品| 丝袜诱惑制服诱惑色一区在线观看| 久久综合狠狠综合久久综合88| 91超碰这里只有精品国产| 色94色欧美sute亚洲线路二| 成人黄色国产精品网站大全在线免费观看| 久草中文综合在线| 另类小说视频一区二区| 男人的天堂亚洲一区| 午夜不卡av在线| 亚洲电影一区二区三区| 亚洲一区二区在线观看视频| 一区二区三区欧美视频| 亚洲欧美日韩成人高清在线一区| 亚洲欧美在线视频| 亚洲啪啪综合av一区二区三区| 国产精品视频看| 一色屋精品亚洲香蕉网站| 日韩一区欧美小说| 亚洲乱码中文字幕综合| 一区二区三区在线观看欧美| 亚洲一区视频在线| 亚洲r级在线视频| 日韩电影免费在线观看网站| 久久精品免费观看| 国产在线一区观看| 成人高清av在线| 94-欧美-setu| 欧美系列一区二区| 日韩欧美黄色影院| 久久精品男人的天堂| 久久天天做天天爱综合色| 国产欧美日韩亚州综合| 中文字幕一区日韩精品欧美| 亚洲欧美另类久久久精品| 亚洲国产欧美在线人成| 久久成人免费网站| 国产成人午夜视频| 91原创在线视频| 欧美日韩视频一区二区| 日韩午夜在线观看| 日本一区二区三级电影在线观看| 亚洲人精品午夜| 午夜久久久久久久久| 六月丁香婷婷久久| av一二三不卡影片| 制服丝袜中文字幕亚洲| 久久亚洲精精品中文字幕早川悠里| 国产精品天天看| 亚洲国产精品一区二区尤物区| 久久99精品国产麻豆婷婷洗澡| 成人性色生活片| 欧美三级三级三级| 国产欧美精品国产国产专区| 亚洲一区二区三区国产| 精品一区二区三区在线播放| www.日韩精品| 欧美一级日韩一级| 国产精品二三区| 日产国产欧美视频一区精品| 风间由美性色一区二区三区| 欧美怡红院视频| 久久久久久**毛片大全| 亚洲精品国产a久久久久久 | 一区二区免费在线播放| 极品少妇xxxx精品少妇| 色94色欧美sute亚洲线路一久| 日韩免费一区二区三区在线播放| 亚洲视频免费观看| 国产精品一区在线观看乱码 | 日韩欧美久久久| 亚洲免费毛片网站| 国产精品系列在线播放| 欧美精品一级二级| 中文字幕一区二区三中文字幕| 美女一区二区三区在线观看| 色噜噜久久综合| 久久久.com| 麻豆91在线播放| 欧美性xxxxxx少妇| 亚洲欧洲综合另类| 成人中文字幕电影| 精品少妇一区二区三区视频免付费 | 欧美国产综合色视频| 日本一不卡视频| 欧美视频一区二区三区在线观看| 国产精品久久久久久久久免费樱桃| 看电视剧不卡顿的网站| 欧美伊人久久久久久久久影院| 中文一区二区完整视频在线观看| 久久国产剧场电影| 欧美女孩性生活视频| 亚洲一区二区三区四区的 | 精品国产一区二区三区四区四 | 欧美体内she精视频| 国产精品午夜在线| 国产成人综合精品三级| 337p日本欧洲亚洲大胆色噜噜| 免费国产亚洲视频| 91精品综合久久久久久| 亚洲福中文字幕伊人影院| 色94色欧美sute亚洲线路一ni| 国产精品高潮呻吟| av不卡免费电影| 亚洲天堂网中文字| 91在线码无精品| 日韩美女久久久| 91一区二区在线观看| 亚洲人成在线观看一区二区| www.成人在线| 亚洲视频一区在线观看| 91一区二区在线| 一区二区三区在线视频观看58| 色综合中文字幕国产| 国产精品理论片| jlzzjlzz亚洲女人18| 成人免费在线观看入口| 91亚洲永久精品| 亚洲一区在线看| 91超碰这里只有精品国产| 麻豆极品一区二区三区| 久久婷婷国产综合国色天香| 国产91丝袜在线播放| 中文字幕一区二区三区蜜月| 91浏览器在线视频| 天天综合日日夜夜精品| 3d成人h动漫网站入口| 激情五月激情综合网| 日本一区二区三级电影在线观看| 99视频精品在线| 午夜欧美电影在线观看| 日韩欧美123| 成人小视频免费观看| 伊人婷婷欧美激情| 欧美一区二区三区色| 国产精品一区二区不卡| 亚洲女性喷水在线观看一区| 欧美日韩一区二区三区四区| 秋霞电影一区二区| 久久精品一区四区| 色综合久久综合中文综合网| 午夜亚洲国产au精品一区二区| 欧美xxxx老人做受| 99久久国产免费看| 日韩电影一区二区三区| 国产日韩视频一区二区三区| 91久久精品日日躁夜夜躁欧美| 天堂一区二区在线免费观看| 精品盗摄一区二区三区| av福利精品导航| 日韩精品电影在线观看| 国产清纯美女被跳蛋高潮一区二区久久w | 日韩精品色哟哟| 欧美极品xxx| 欧美精品 国产精品| 国产激情偷乱视频一区二区三区| 亚洲精品日韩一| 欧美精品一区二区高清在线观看 | 国产99久久久久| 亚洲午夜精品在线| 久久久午夜精品理论片中文字幕| 日本大香伊一区二区三区| 国产乱人伦偷精品视频免下载| 亚洲午夜影视影院在线观看| 久久精品视频免费观看| 欧美日韩不卡一区| 99视频超级精品| 精品中文字幕一区二区小辣椒| 亚洲人精品一区| 国产亚洲精品久| 欧美一区二区视频在线观看2022| jlzzjlzz亚洲日本少妇| 国产一区二区精品在线观看| 亚洲成人在线免费| 日韩一区欧美小说| 久久久久88色偷偷免费 |