<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hardy.九日志 &#187; c++</title>
	<atom:link href="http://www.9ri.net/blog/tag/c/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.9ri.net</link>
	<description>没什么改变不了的</description>
	<lastBuildDate>Mon, 30 Jan 2012 08:40:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>用STL快速编写ini配置文件识别类</title>
		<link>http://www.9ri.net/blog/%e7%94%a8stl%e5%bf%ab%e9%80%9f%e7%bc%96%e5%86%99ini%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6%e8%af%86%e5%88%ab%e7%b1%bb/</link>
		<comments>http://www.9ri.net/blog/%e7%94%a8stl%e5%bf%ab%e9%80%9f%e7%bc%96%e5%86%99ini%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6%e8%af%86%e5%88%ab%e7%b1%bb/#comments</comments>
		<pubDate>Sat, 09 Feb 2008 18:42:49 +0000</pubDate>
		<dc:creator>Hardy</dc:creator>
				<category><![CDATA[与IT沾边]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[ini]]></category>
		<category><![CDATA[stl]]></category>
		<category><![CDATA[配置文件]]></category>

		<guid isPermaLink="false">http://hardy.yo2.cn/articles/%e7%94%a8stl%e5%bf%ab%e9%80%9f%e7%bc%96%e5%86%99ini%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6%e8%af%86%e5%88%ab%e7%b1%bb.html</guid>
		<description><![CDATA[ini文件是技术人员经常用到的一种系统配置方法，如何读取和快速识别ini文件中的内容实现起来比较繁琐。STL强大的功能在于能快速的实现排序、查找、 识别等功能。本文通过STL中的map，string，vector,ifstream等，来快速实现ini文件的识别类class IniFile?。IniFile可以实现常见查找功能，并提供完整的源码。 1 设计需求： ini文件的格式一般如下: [section1] key1=value1 key2=value2 &#8230;&#8230; [section2] key1=value1 key2=value2 #注释 &#8230;&#8230; 实际的例子是： #ini for path [path] dictfile = /home/tmp/dict.dat inputfile= /home/tmp/input.txt outputfile= /home/tmp/output.txt #ini for exe [exe] user= winter //user name passwd= 1234567 #pass word database= mydatabase 其中有五种元素：section 名，Key名，value值，注释 #或者//开头,标志字符”[" "]” “=”。查找项的对应关系为sectiong-key和value对应。需要得到是value。class IniFile?要实现的是两个函数：读入ini文件，读取sect-key对应的value值。即实现下面的接口： class IniFile{ public:   IniFile();   //打开ini文件  <a href="http://www.9ri.net/blog/%e7%94%a8stl%e5%bf%ab%e9%80%9f%e7%bc%96%e5%86%99ini%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6%e8%af%86%e5%88%ab%e7%b1%bb/"> <br /><br /> (More)…</a><table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="4"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="Live Mesh 微软的免费网络文件同步工具 (Dropbox替代品)" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.9ri.net%2Fblog%2Fdropbox-html%2F&from=http%3A%2F%2Fwww.9ri.net%2Fblog%2F%25E7%2594%25A8stl%25E5%25BF%25AB%25E9%2580%259F%25E7%25BC%2596%25E5%2586%2599ini%25E9%2585%258D%25E7%25BD%25AE%25E6%2596%2587%25E4%25BB%25B6%25E8%25AF%2586%25E5%2588%25AB%25E7%25B1%25BB%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/09/14/30717276.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Live Mesh 微软的免费网络文件同步工具 (Dropbox替代品)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="stat.h头文件，轻松获取文件属性。" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.9ri.net%2Fblog%2Fstath%25E5%25A4%25B4%25E6%2596%2587%25E4%25BB%25B6%25EF%25BC%258C%25E8%25BD%25BB%25E6%259D%25BE%25E8%258E%25B7%25E5%258F%2596%25E6%2596%2587%25E4%25BB%25B6%25E5%25B1%259E%25E6%2580%25A7%25E3%2580%2582%2F&from=http%3A%2F%2Fwww.9ri.net%2Fblog%2F%25E7%2594%25A8stl%25E5%25BF%25AB%25E9%2580%259F%25E7%25BC%2596%25E5%2586%2599ini%25E9%2585%258D%25E7%25BD%25AE%25E6%2596%2587%25E4%25BB%25B6%25E8%25AF%2586%25E5%2588%25AB%25E7%25B1%25BB%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">stat.h头文件，轻松获取文件属性。</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="看今儿火箭的球有感" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.9ri.net%2Fblog%2F%25E7%259C%258B%25E4%25BB%258A%25E5%2584%25BF%25E7%2581%25AB%25E7%25AE%25AD%25E7%259A%2584%25E7%2590%2583%25E6%259C%2589%25E6%2584%259F%2F&from=http%3A%2F%2Fwww.9ri.net%2Fblog%2F%25E7%2594%25A8stl%25E5%25BF%25AB%25E9%2580%259F%25E7%25BC%2596%25E5%2586%2599ini%25E9%2585%258D%25E7%25BD%25AE%25E6%2596%2587%25E4%25BB%25B6%25E8%25AF%2586%25E5%2588%25AB%25E7%25B1%25BB%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/09/14/30720454.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">看今儿火箭的球有感</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="一个二手PHP工程师已经在路上" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.9ri.net%2Fblog%2F%25E4%25B8%2580%25E4%25B8%25AA%25E4%25BA%258C%25E6%2589%258Bphp%25E5%25B7%25A5%25E7%25A8%258B%25E5%25B8%2588%25E5%25B7%25B2%25E7%25BB%258F%25E5%259C%25A8%25E8%25B7%25AF%25E4%25B8%258A%2F&from=http%3A%2F%2Fwww.9ri.net%2Fblog%2F%25E7%2594%25A8stl%25E5%25BF%25AB%25E9%2580%259F%25E7%25BC%2596%25E5%2586%2599ini%25E9%2585%258D%25E7%25BD%25AE%25E6%2596%2587%25E4%25BB%25B6%25E8%25AF%2586%25E5%2588%25AB%25E7%25B1%25BB%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/09/14/30717259.png" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">一个二手PHP工程师已经在路上</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="4" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>


Related posts:<ol><li><a href='http://www.9ri.net/blog/%e6%9e%9a%e4%b8%betypedef%e9%a2%84%e5%a4%84%e7%90%86/' rel='bookmark' title='枚举,typedef,预处理'>枚举,typedef,预处理</a></li>
<li><a href='http://www.9ri.net/blog/stath%e5%a4%b4%e6%96%87%e4%bb%b6%ef%bc%8c%e8%bd%bb%e6%9d%be%e8%8e%b7%e5%8f%96%e6%96%87%e4%bb%b6%e5%b1%9e%e6%80%a7%e3%80%82/' rel='bookmark' title='stat.h头文件，轻松获取文件属性。'>stat.h头文件，轻松获取文件属性。</a></li>
<li><a href='http://www.9ri.net/blog/cpp_and_sign/' rel='bookmark' title='“&amp;&amp;”运算符的妙用'>“&#038;&#038;”运算符的妙用</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>ini文件是技术人员经常用到的一种系统配置方法，如何读取和快速识别ini文件中的内容实现起来比较繁琐。STL强大的功能在于能快速的实现排序、查找、 识别等功能。本文通过STL中的map，string，vector,ifstream等，来快速实现ini文件的识别类class IniFile?。IniFile可以实现常见查找功能，并提供完整的源码。</p>
<p><strong>1 设计需求： </strong><br />
ini文件的格式一般如下:</p>
<blockquote><p>[section1]<br />
key1=value1<br />
key2=value2<br />
&#8230;&#8230;</p>
<p>[section2]<br />
key1=value1<br />
key2=value2 #注释<br />
&#8230;&#8230;</p></blockquote>
<p>实际的例子是：</p>
<blockquote><p>#ini for path<br />
[path]<br />
dictfile = /home/tmp/dict.dat<br />
inputfile= /home/tmp/input.txt<br />
outputfile= /home/tmp/output.txt</p>
<p>#ini for exe<br />
[exe]<br />
user= winter //user name<br />
passwd= 1234567 #pass word<br />
database= mydatabase</p></blockquote>
<p>其中有五种元素：section 名，Key名，value值，注释 #或者//开头,标志字符”[" "]” “=”。查找项的对应关系为sectiong-key和value对应。需要得到是value。class IniFile?要实现的是两个函数：读入ini文件，读取sect-key对应的value值。即实现下面的接口：</p>
<blockquote><p>class IniFile{<br />
public:<br />
  IniFile();<br />
  //打开ini文件<br />
  bool open(const char* pinipath);<br />
  //读取value值<br />
  const char* read(const char* psect, const char*pkey);<br />
  };</p></blockquote>
<p><strong>2 设计实现： </strong><br />
用ifstream按行读入ini文件的内容</p>
<p>识别每一行的字符串，分析出sectiong，key，value，和注释。</p>
<p>用map来记录所有的sectiong－key和value。</p>
<p>重新定义class IniFile?</p>
<blockquote><p>typedef map&lt;string, string, less&lt;string&gt; &gt; strMap;<br />
typedef strMap::iterator strMapIt;</p>
<p>const char*const MIDDLESTRING = “_____***_______”;<br />
class IniFile<br />
{<br />
public:<br />
  IniFile( ){};<br />
  ~IniFile( ){};<br />
  bool open(const char* pinipath)<br />
  {<br />
  return do_open(pinipath);<br />
  }<br />
  string read(const char*psect, const char*pkey)<br />
  {<br />
  string mapkey = psect;<br />
  mapkey += MIDDLESTRING;<br />
  mapkey += pkey;<br />
  strMapIt it = c_inimap.find(mapkey);<br />
  if(it == c_inimap.end())<br />
  return “”;<br />
  else<br />
  return it-&gt;second;<br />
  }<br />
protected:<br />
  bool do_open(const char* pinipath)<br />
  {<br />
  ifstream fin(pinipath);<br />
  if(!fin.is_open())<br />
  return false;<br />
  vector&lt;string&gt; strvect;<br />
  while(!fin.eof())<br />
  {<br />
  string inbuf;<br />
  getline(fin, inbuf,&#8217;\n&#8217;);<br />
  strvect.push_back(inbuf);<br />
  }<br />
  if(strvect.empty())<br />
  return false;<br />
  for_each(strvect.begin(), strvect.end(), analyzeini(c_inimap));<br />
  return !c_inimap.empty();<br />
  }<br />
  strMap c_inimap;<br />
};</p></blockquote>
<p>其中do_open是用来真正实现初始化ini内容的函数。先用ifstream fin打开一个文件，然后用is_open判断文件是否正常打开。顺序读取文件的时候用eof()判断是否到文件尾。getline是一个字符处理函数：直接从fin中读取一行。然后用while循环过滤一行末尾的空格等字符。最后保存到一个vector中，完成读入文本工作。其中比较值得关注的是以下为体，你知道为什么这么做么？用ifstream和getline来读入而不是用fopen和fread。<br />
用is_open判断是否打开，而不是直接读取。<br />
用vector的push_pack而不是insert。<br />
用empty判断是否为空，而不是用size()==0。<br />
下一步用for_each函数来完成字符串的内容提取工作。声明一个结构，实现对操作符()的重载。代码如下：</p>
<blockquote><p>struct analyzeini{<br />
  string strsect;<br />
  strMap *pmap;<br />
  analyzeini(strMap &amp; strmap):pmap(&amp;strmap){}<br />
  void operator()( const string &amp; strini)<br />
  {<br />
  int first =strini.find(&#8216;[');<br />
  int last = strini.rfind(']&#8216;);<br />
  if( first != string::npos &amp;&amp; last != string::npos &amp;&amp; first != last+1)<br />
  {<br />
  strsect = strini.substr(first+1,last-first-1);<br />
  return ;<br />
  }<br />
  if(strsect.empty())<br />
  return ;<br />
  if((first=strini.find(&#8216;=&#8217;))== string::npos)<br />
  return ;<br />
  string strtmp1= strini.substr(0,first);<br />
  string strtmp2=strini.substr(first+1, string::npos);<br />
  first= strtmp1.find_first_not_of(” \t”);<br />
  last = strtmp1.find_last_not_of(” \t”);<br />
  if(first == string::npos || last == string::npos)<br />
  return ;<br />
  string strkey = strtmp1.substr(first, last-first+1);<br />
  first = strtmp2.find_first_not_of(” \t”);<br />
  if(((last = strtmp2.find(“\t#”, first )) != string::npos) ||<br />
  ((last = strtmp2.find(” #”, first )) != string::npos) ||<br />
  ((last = strtmp2.find(“\t//”, first )) != string::npos)||<br />
  ((last = strtmp2.find(” //”, first )) != string::npos))<br />
  {<br />
  strtmp2 = strtmp2.substr(0, last-first);<br />
  }<br />
  last = strtmp2.find_last_not_of(” \t”);<br />
  if(first == string::npos || last == string::npos)<br />
  return ;<br />
  string value = strtmp2.substr(first, last-first+1);<br />
  string mapkey = strsect + MIDDLESTRING;<br />
  mapkey += strkey;<br />
  (*pmap)[mapkey]=value;<br />
  return ;<br />
  }<br />
};</p></blockquote>
<p>这里大量使用了字符串的查找和字串功能。string的find_last_of系列和find系列，功能确实十分强大。所有在string中没有找到都会返回一个变量string::npos。<br />
函数先找sectiong，然后分离key值和value值。符合要求的，把section和key值通过中间加上MIDDLESTRING组成一个新的string，插入map中。这里值得注意的是：</p>
<p>* for_each的使用，结构可以传递参数。 * string的查找函数及返回值 * string的链接和合并函数。 * map的下标操作符的使用。</p>
<p><strong>3 具体使用 </strong><br />
把所有代码放在一个头文件中，以后别人使用的时候，只需要包含头文件就可以了，点击查看inifile.h文件。在使用的过程中，注意判断返回值。使用代码如下：</p>
<blockquote><p>#include &lt;iostream&gt;<br />
#include “inifile.h”<br />
using namespace std;<br />
int main()<br />
{<br />
    IniFile ini;<br />
    if(!ini.open(“test.ini”))<br />
       return -1;<br />
    string strvalue = ini.read(“sect1&#8243;,”key1&#8243;);<br />
    if(strvalue.empty())<br />
        return -1;<br />
    else<br />
        cout&lt;&lt;”value=”&lt;&lt;strvalue&lt;&lt;endl;<br />
    return 0;<br />
}  </p></blockquote>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Set MYTITLE = 用STL快速编写ini配置文件识别类</p>
<table class="wumii-related-items" cellspacing="0" cellpadding="3" border="0"  style="clear: both;">
    
    <tr>
        <td colspan="4"><b><font size="-1"  style="display: block !important; padding: 20px 0 5px !important;">您可能也喜欢：</font></b></td>
    </tr>
    
        <tr>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important;">
                    <a target="_blank" title="Live Mesh 微软的免费网络文件同步工具 (Dropbox替代品)" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.9ri.net%2Fblog%2Fdropbox-html%2F&from=http%3A%2F%2Fwww.9ri.net%2Fblog%2F%25E7%2594%25A8stl%25E5%25BF%25AB%25E9%2580%259F%25E7%25BC%2596%25E5%2586%2599ini%25E9%2585%258D%25E7%25BD%25AE%25E6%2596%2587%25E4%25BB%25B6%25E8%25AF%2586%25E5%2588%25AB%25E7%25B1%25BB%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/09/14/30717276.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">Live Mesh 微软的免费网络文件同步工具 (Dropbox替代品)</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="stat.h头文件，轻松获取文件属性。" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.9ri.net%2Fblog%2Fstath%25E5%25A4%25B4%25E6%2596%2587%25E4%25BB%25B6%25EF%25BC%258C%25E8%25BD%25BB%25E6%259D%25BE%25E8%258E%25B7%25E5%258F%2596%25E6%2596%2587%25E4%25BB%25B6%25E5%25B1%259E%25E6%2580%25A7%25E3%2580%2582%2F&from=http%3A%2F%2Fwww.9ri.net%2Fblog%2F%25E7%2594%25A8stl%25E5%25BF%25AB%25E9%2580%259F%25E7%25BC%2596%25E5%2586%2599ini%25E9%2585%258D%25E7%25BD%25AE%25E6%2596%2587%25E4%25BB%25B6%25E8%25AF%2586%25E5%2588%25AB%25E7%25B1%25BB%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/images/blogWidget/wordpress_default.gif" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">stat.h头文件，轻松获取文件属性。</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="看今儿火箭的球有感" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.9ri.net%2Fblog%2F%25E7%259C%258B%25E4%25BB%258A%25E5%2584%25BF%25E7%2581%25AB%25E7%25AE%25AD%25E7%259A%2584%25E7%2590%2583%25E6%259C%2589%25E6%2584%259F%2F&from=http%3A%2F%2Fwww.9ri.net%2Fblog%2F%25E7%2594%25A8stl%25E5%25BF%25AB%25E9%2580%259F%25E7%25BC%2596%25E5%2586%2599ini%25E9%2585%258D%25E7%25BD%25AE%25E6%2596%2587%25E4%25BB%25B6%25E8%25AF%2586%25E5%2588%25AB%25E7%25B1%25BB%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/09/14/30720454.jpg" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">看今儿火箭的球有感</font>
                    </a>
                </td>
                <td width="102" valign="top" style="padding: 5px !important; margin: 0 !important; border-left: 1px solid #DDDDDD !important;">
                    <a target="_blank" title="一个二手PHP工程师已经在路上" style="text-decoration: none !important; cursor: pointer !important;" href="http://app.wumii.com/ext/redirect.htm?url=http%3A%2F%2Fwww.9ri.net%2Fblog%2F%25E4%25B8%2580%25E4%25B8%25AA%25E4%25BA%258C%25E6%2589%258Bphp%25E5%25B7%25A5%25E7%25A8%258B%25E5%25B8%2588%25E5%25B7%25B2%25E7%25BB%258F%25E5%259C%25A8%25E8%25B7%25AF%25E4%25B8%258A%2F&from=http%3A%2F%2Fwww.9ri.net%2Fblog%2F%25E7%2594%25A8stl%25E5%25BF%25AB%25E9%2580%259F%25E7%25BC%2596%25E5%2586%2599ini%25E9%2585%258D%25E7%25BD%25AE%25E6%2596%2587%25E4%25BB%25B6%25E8%25AF%2586%25E5%2588%25AB%25E7%25B1%25BB%2F">
                        <img style="margin: 0 !important; padding: 2px !important; border: 1px solid #DDDDDD !important; width: 96px !important; height: 96px !important;" src="http://static.wumii.com/site_images/2011/09/14/30717259.png" width="96px" height="96px" /><br />
                        <font size="-1" color="#333333" style="display: block !important; line-height: 15px !important; width: 102px !important; font: 12px/15px arial !important; height: 60px !important; margin: 3px 0 0 0 !important; padding: 0 !important; overflow: hidden !important;">一个二手PHP工程师已经在路上</font>
                    </a>
                </td>
        </tr>
    
    <tr>
        <td colspan="4" align="right">
            <a style="text-decoration: none !important;" href="http://www.wumii.com/widget/relatedItems.htm" target="_blank" title="无觅相关文章插件">
                <font size="-1" color="#bbbbbb" style="display: block !important; font-family: arial !important; padding: 5px 0 !important; font-size: 12px !important; color: #bbb !important;">无觅</font>
            </a>
        </td>
    </tr>
</table>

<p>Related posts:<ol><li><a href='http://www.9ri.net/blog/%e6%9e%9a%e4%b8%betypedef%e9%a2%84%e5%a4%84%e7%90%86/' rel='bookmark' title='枚举,typedef,预处理'>枚举,typedef,预处理</a></li>
<li><a href='http://www.9ri.net/blog/stath%e5%a4%b4%e6%96%87%e4%bb%b6%ef%bc%8c%e8%bd%bb%e6%9d%be%e8%8e%b7%e5%8f%96%e6%96%87%e4%bb%b6%e5%b1%9e%e6%80%a7%e3%80%82/' rel='bookmark' title='stat.h头文件，轻松获取文件属性。'>stat.h头文件，轻松获取文件属性。</a></li>
<li><a href='http://www.9ri.net/blog/cpp_and_sign/' rel='bookmark' title='“&amp;&amp;”运算符的妙用'>“&#038;&#038;”运算符的妙用</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.9ri.net/blog/%e7%94%a8stl%e5%bf%ab%e9%80%9f%e7%bc%96%e5%86%99ini%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6%e8%af%86%e5%88%ab%e7%b1%bb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

