锘??xml version="1.0" encoding="utf-8" standalone="yes"?>97香蕉久久夜色精品国产,久久久久久精品免费免费自慰,久久精品中文騷妇女内射http://www.shnenglu.com/wc250en007/category/14000.html鍓嶈繘鐨勮礬涓?/description>zh-cnSat, 27 Dec 2014 04:37:50 GMTSat, 27 Dec 2014 04:37:50 GMT60C++瀛︿範絎旇05 鐢辯被鍚嶅垱寤哄璞?/title><link>http://www.shnenglu.com/wc250en007/archive/2012/08/30/188728.html</link><dc:creator>Let me see see</dc:creator><author>Let me see see</author><pubDate>Thu, 30 Aug 2012 04:15:00 GMT</pubDate><guid>http://www.shnenglu.com/wc250en007/archive/2012/08/30/188728.html</guid><wfw:comment>http://www.shnenglu.com/wc250en007/comments/188728.html</wfw:comment><comments>http://www.shnenglu.com/wc250en007/archive/2012/08/30/188728.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/wc250en007/comments/commentRss/188728.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wc250en007/services/trackbacks/188728.html</trackback:ping><description><![CDATA[<div>1.搴旂敤錛?br /><strong>涔熻闇瑕佷竴涓剼鏈紝鑴氭湰涓湁涓涓弬鏁頒紶閫掔被鍚嶏紝浣犻渶瑕侀氳繃綾誨悕鏉ュ姩鎬佺殑鍒涘緩榪欎釜瀵硅薄錛岃繖鏃跺欏氨闇瑕佸姩鎬佸垱寤轟簡</strong><br /><br /> 2.鍘熺悊錛?br />C++涓嶆槸鍔ㄦ佽璦錛屾墍浠ユ病娉曚粠璇█鏈哄埗涓婂疄鐜扮被鐨勫姩鎬佸垱寤猴紝浣嗚繖鏍風殑闇姹傚嵈鏈夊彲鑳藉瓨鍦紝涓涓被浼肩殑渚嬪瓙渚挎槸MFC涓瑿Wnd綾葷殑Create鏂規硶錛屽叾絎竴涓弬鏁頒負Window Class鐨勫悕瀛楋紝榪欏氨鍏佽鐢ㄦ埛閫氳繃class鐨勫悕瀛楁潵鍒涘緩鐩稿簲鐨勭獥鍙c?/div><div> 瑕佹兂瀹炵幇榪欎竴鐐癸紝<span style="color: red; ">蹇呴』鏈変竴涓?#8220;綆$悊涓績”錛岀敤浜庣櫥璁扮被鐨勫悕瀛楋紝騫朵笖閫氳繃鍚嶅瓧鑳藉璋冪敤瀵瑰簲鐨勫垱寤烘柟娉曟潵鍒涘緩鐩稿簲鐨勫疄渚?/span>銆傜粨鍚堢被宸ュ巶鐨勮璁℃濇兂錛岃繖閲屾垜浠涓濂楃戶鎵夸綋緋諱腑鐨勫熀綾諱綔涓?#8220;綆$悊涓績”錛岀敱瀹冩潵緇存姢鎵鏈夋淳鐢熺被鐨勫繀瑕佷俊鎭紝鍖呮嫭綾誨悕鍜屽伐鍘傚嚱鏁幫紝榪欎簩鑰呭繀欏誨緩绔嬭搗鏄犲皠鍏崇郴錛宮ap鏄笉閿欑殑閫夋嫨銆傚畾涔変簡涓涓淳鐢熺被鍚庯紝瀹冨氨鑷姩鍚戝熀綾昏繘琛屾敞鍐?br /><br />3.瀹炵幇:<br />鍙互鐢ㄥ畯鏉ヤ唬鏇匡細<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">/*</span><span style="color: #008000; ">* <br />    瀹炵幇鍘熺悊:<br />    鍩虹被閲岄潰鐢╩ap綆$悊鎵鏈夐渶瑕佸姩鎬佸垱寤?nbsp;銆愮被鍚?鍒涘緩瀵硅薄鐨勫嚱鏁版寚閽堛?br />    鍩虹被澹版槑涓渶瑕佹坊鍔?nbsp;DECLEAR_DYNCRT_BASE 瀹?cpp瀹炵幇涓娣誨姞 IMPLEMENT_DYNCRT_BASE 瀹?br />    媧劇敓綾誨0鏄庝腑闇瑕佹坊鍔?nbsp;DECLEAR_DYNCRT_CLASS 瀹忥紝cpp瀹炵幇涓娣誨姞 IMPLEMENT_DYNCRT_CLASS 瀹?br />    媧劇敓綾誨畯涓垱寤轟簡涓涓叏灞瀵硅薄鍚戝熀綾籱ap涓敞鍐屻愮被鍚?鍒涘緩瀵硅薄鐨勫嚱鏁版寚閽堛?br />    </span><span style="color: #008000; ">*/</span><br />#include <map><br /><br /><br /><span style="color: #008000; ">//</span><span style="color: #008000; "> 澹版槑鍏鋒湁鍔ㄦ佸垱寤虹殑鍩虹被</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">#define</span> DECLEAR_DYNCRT_BASE(base) \<br /><span style="color: #0000FF; ">public</span>: \<br />typedef <span style="color: #0000FF; ">base</span>* (*ClassGen)(); \<br /><span style="color: #0000FF; ">static</span> <span style="color: #0000FF; ">void</span> _register(<span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>* class_name, ClassGen class_gen) \<br />{ \<br />    class_set.insert(std::map<<span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>*, ClassGen>::value_type(class_name, class_gen)); \<br />} \<br /><span style="color: #0000FF; ">static</span> <span style="color: #0000FF; ">base</span>* create(<span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>* class_name) \<br />{ \<br />    std::map<<span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>*, ClassGen>::iterator it = class_set.find(class_name);   \<br />    <span style="color: #0000FF; ">if</span> (it != class_set.end()) \<br />        <span style="color: #0000FF; ">return</span> (it->second)(); \<br />    <span style="color: #0000FF; ">return</span> NULL; \<br />} \<br /><span style="color: #0000FF; ">protected</span>: \<br /><span style="color: #0000FF; ">static</span> std::map<<span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>*, ClassGen> class_set;<br /><br /><span style="color: #008000; ">//</span><span style="color: #008000; "> 鐢ㄤ簬瀹炵幇鍩虹被</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">#define</span> IMPLEMENT_DYNCRT_BASE(base) \<br />std::map<<span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span>*, <span style="color: #0000FF; ">base</span>::ClassGen> <span style="color: #0000FF; ">base</span>::class_set;<br /><br /><br /><span style="color: #008000; ">//</span><span style="color: #008000; "> 鐢ㄤ簬澹版槑涓涓兘澶熻鍔ㄦ佸垱寤虹殑綾?鐢ㄤ竴涓叏灞瀵硅薄榪涜娉ㄥ唽)</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">#define</span> DECLEAR_DYNCRT_CLASS(derived, base) \<br /><span style="color: #0000FF; ">public</span>: \<br />    <span style="color: #0000FF; ">struct</span> derived##register \<br />    { \<br />        derived##register() \<br />        { \<br />            <span style="color: #0000FF; ">static</span> <span style="color: #0000FF; ">bool</span> bRegister = <span style="color: #0000FF; ">false</span>; \<br />            <span style="color: #0000FF; ">if</span> (!bRegister) \<br />            { \<br />                <span style="color: #0000FF; ">base</span>::_register(#derived, _CreateObjectByName); \<br />                bRegister = <span style="color: #0000FF; ">true</span>; \<br />            } \<br />        } \<br />    }; \<br />    <span style="color: #0000FF; ">static</span> <span style="color: #0000FF; ">base</span>* _CreateObjectByName() \<br />    { \<br />        <span style="color: #0000FF; ">return</span> <span style="color: #0000FF; ">new</span> derived; \<br />    }<br /><br /><br /><span style="color: #008000; ">//</span><span style="color: #008000; "> 鐢ㄤ簬瀹炵幇涓涓兘琚姩鎬佸垱寤虹殑綾?/span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">#define</span> IMPLEMENT_DYNCRT_CLASS(derived) \<br />    <span style="color: #0000FF; ">static</span> derived::derived##register _##derived##global_object;</div><br />鎴戜滑闇瑕佸仛鐨勫氨鏄槸鍝﹂偅涓繖鍥涗釜瀹?br />闄勫姞涓婃祴璇曚唬鐮侊細<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008000; ">//</span><span style="color: #008000; "> 嫻嬭瘯瀹炰緥:</span><span style="color: #008000; "><br /></span><span style="color: #0000FF; ">class</span> Base<br />{<br />    DECLEAR_DYNCRT_BASE(Base)<br />    DECLEAR_DYNCRT_CLASS(Base, Base)<br /><span style="color: #0000FF; ">public</span>:<br />    <span style="color: #0000FF; ">virtual</span> <span style="color: #0000FF; ">void</span> Print()<br />    {<br />        std::cout << "This is base!" << std::endl;<br />    }<br />};<br /><br />IMPLEMENT_DYNCRT_BASE(Base)<br />IMPLEMENT_DYNCRT_CLASS(Base)<br /><br /><br /><span style="color: #0000FF; ">class</span> Derived : <span style="color: #0000FF; ">public</span> Base<br />{<br />    DECLEAR_DYNCRT_CLASS(Derived, Base)<br /><span style="color: #0000FF; ">public</span>:<br />    <span style="color: #0000FF; ">virtual</span> <span style="color: #0000FF; ">void</span> Print()<br />    {<br />        cout << "This is derived!" << endl;<br />    }<br />};<br />IMPLEMENT_DYNCRT_CLASS(Derived)<br /><br /><br /><span style="color: #0000FF; ">int</span> main()<br />{<br />    Base* <span style="color: #0000FF; ">base</span> = Base::create("Base");<br />    <span style="color: #0000FF; ">if</span> (<span style="color: #0000FF; ">base</span>)<br />        <span style="color: #0000FF; ">base</span>->Print();<br /><br />    system("pause");<br />    <span style="color: #0000FF; ">return</span> 0;<br />}</div><br /><br />鍙傝冨湴鍧錛?a >http://blog.csdn.net/freefalcon/article/details/109275</a> <br /><br /><br /></div><img src ="http://www.shnenglu.com/wc250en007/aggbug/188728.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wc250en007/" target="_blank">Let me see see</a> 2012-08-30 12:15 <a href="http://www.shnenglu.com/wc250en007/archive/2012/08/30/188728.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C++瀛︿範絎旇04 鎴愬憳鍑芥暟鎸囬拡http://www.shnenglu.com/wc250en007/archive/2012/08/02/186085.htmlLet me see seeLet me see seeThu, 02 Aug 2012 15:11:00 GMThttp://www.shnenglu.com/wc250en007/archive/2012/08/02/186085.htmlhttp://www.shnenglu.com/wc250en007/comments/186085.htmlhttp://www.shnenglu.com/wc250en007/archive/2012/08/02/186085.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/186085.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/186085.html闃呰鍏ㄦ枃

]]>
C++瀛︿範絎旇03 鍑芥暟鎸囬拡http://www.shnenglu.com/wc250en007/archive/2012/08/01/185839.htmlLet me see seeLet me see seeWed, 01 Aug 2012 00:15:00 GMThttp://www.shnenglu.com/wc250en007/archive/2012/08/01/185839.htmlhttp://www.shnenglu.com/wc250en007/comments/185839.htmlhttp://www.shnenglu.com/wc250en007/archive/2012/08/01/185839.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/185839.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/185839.html紼嬪簭涓笉鍙伩鍏嶇殑浣跨敤鍑芥暟鎸囬拡錛屽悇縐嶅洖璋冿紝鍔犲己涓涓嬬悊瑙?br />
(涓)瀹氫箟鍑芥暟鎸囬拡

//褰㈠紡1錛氳繑鍥炵被鍨?*鍑芥暟鍚?(鍙傛暟琛?

// PFN鏄嚱鏁版寚閽?br />char (*PFN)(int);  

char gpfn(int val)
{
 cout << val << endl;
 return 1;
}


void main()
{
    pFun 
= glFun;
    (
*pFun)(2);
}


PFN鏄竴涓嚱鏁版寚閽?鎸囧悜char(*)(int)綾誨瀷鐨勫嚱鏁版寚閽堬紝榪欑鍑芥暟鍙傛暟鏄竴涓猧nt,榪斿洖綾誨瀷鏄竴涓猚har,濡傛灉瑕佸瀹冭祴鍊鹼紝闇瑕佸弬鏁板拰榪斿洖綾誨瀷涓鑷?br />
 絎簩琛屽畾涔変簡涓涓嚱鏁癵lFun()銆傝鍑芥暟姝eソ鏄竴涓互int涓哄弬鏁拌繑鍥瀋har鐨勫嚱鏁般?/span>鎴戜滑瑕佷粠鎸囬拡鐨勫眰嬈′笂鐞嗚В鍑芥暟——鍑芥暟鐨勫嚱鏁板悕瀹為檯涓婂氨鏄竴涓寚閽堬紝鍑芥暟鍚嶆寚鍚戣鍑芥暟鐨勪唬鐮佸湪鍐呭瓨涓殑棣栧湴鍧銆?/strong>

錛堜簩錛夎祴鍊煎拰璋冪敤
璧嬪?/p>

    // 璧嬪兼柟娉? 錛堝父鐢?nbsp;)
    PFN = gpfn;                    // 鍑芥暟鐨勫嚱鏁板悕瀹為檯涓婂氨鏄竴涓寚閽堬紝鍑芥暟鍚嶆寚鍚戣鍑芥暟鐨勪唬鐮佸湪鍐呭瓨涓殑棣栧湴鍧

    
// 璧嬪兼柟娉?
    PFN = &gpfn;
璋冪敤
    // 璋冪敤鏂規硶1 
    PFN(10);

    
// 璋冪敤鏂規硶2 ( 甯哥敤)
    (*PFN)(20);

 

榪欎袱縐嶆柟娉曢兘鍙敤錛孋++primer涓婃湁璇存槑


錛堜笁錛夊父瑙佺殑鍑芥暟鎸囬拡鐨勫簲鐢?br />
鏍囧噯妯℃澘搴撲腑鐨勬帓搴忓晩錛?姣旇緝鍟?閮戒細甯哥敤鐨勫嚱鏁版寚閽?br />姣斿鎴戜滑瀹氫箟浜嗙粨鏋勪綋 FightAttr璁板綍浜嗘垬鏂楃殑涓浜涙暟鎹紝姣斿榪炲嚮嬈℃暟錛?鎴樻枟寰楀垎... 鎴戜滑鍙褰曚簡姣忎釜浜虹殑FightAttr, 濡備綍瀵逛粬浠帓搴忓憿
struct FightAttr
{
   Combo combo;
   Score  score;
  ....
};

鍙互鐢╯ort 絳夋帓搴?nbsp;

template<class RandomAccessIterator, class Predicate>
   
void sort(
      RandomAccessIterator first, 
      RandomAccessIterator last, 
      Predicate comp
   );

sort鍏佽浣跨敤鑷繁瀹氫箟鐨勬瘮杈冨嚱鏁?絎笁涓弬鏁?

// 姣旇緝榪炲嚮
bool compareCombo(const FightAttr& a, const FightAttr& b)
{
  
return a.combo < b.combo;
}


// 姣旇緝鍒嗘暟
bool compareScore(const FightAttr& a, const FightAttr& b)
{
  
return a.score< b.score;
}





鍙傝僢log:

C++鎸囬拡鎺㈣ 錛堜竴錛夋暟鎹寚閽?/a>

http://www.cnblogs.com/ly4cn/archive/2005/11/28/286185.html

C++鎸囬拡鎺㈣ (浜? 鍑芥暟鎸囬拡

http://ly4cn.cnblogs.com/archive/2005/12/17/299007.html


 



]]>
C++瀛︿範絎旇02 VS璋冭瘯鍜屽弻鍑昏繍琛屾垨Release鐨勭粨鏋滀笉涓鑷?http://www.shnenglu.com/wc250en007/archive/2012/07/31/185716.htmlLet me see seeLet me see seeTue, 31 Jul 2012 00:43:00 GMThttp://www.shnenglu.com/wc250en007/archive/2012/07/31/185716.htmlhttp://www.shnenglu.com/wc250en007/comments/185716.htmlhttp://www.shnenglu.com/wc250en007/archive/2012/07/31/185716.html#Feedback1http://www.shnenglu.com/wc250en007/comments/commentRss/185716.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/185716.html鏈榪戣皟璇曟墜鏈烘父鎴?璋冭瘯欏圭洰OK娌¢棶棰?F5榪愯涔熸病闂 鐢佃剳涓妛indow騫沖彴涔熻繍琛屾甯?緇撴灉瀹夎鍒版墜鏈篴ndroid騫沖彴涓婅鑹插氨涓嶅姩浜嗭紝澶寸珛鍒誨氨澶т簡錛宎ndroid騫沖彴鍜寃indows騫沖彴榪愯緇撴灉涓嶄竴鑷達紝鍔犱笂鎵嬫満璋冭瘯鍥伴毦闇瑕侀氳繃鏃ュ織鏉ュ垽鏂繍琛屾儏鍐碉紝鎬鐤戣繃璺ㄥ鉤鍙伴厤緗枃浠惰鍙栧け璐ョ殑闂,寮濮嬪悇縐嶆鐤?鍚勭楠岃瘉...

鍚庢潵鍚屼簨璇磋繍琛屾墦鍖呯殑release鐗堟湰涔熶細鍑虹幇鍚屾牱鐨勯棶棰?..

緇忔祴璇?璋冭瘯鏃墮夋嫨"榪愯涓嶈皟璇?鎴栫洿鎺ュ弻鍑籩xe鏂囦歡鍙戠幇鎶ラ敊錛岀敱姝ゆ帹鍑篎5璋冭瘯鍜屽弻鍑葷粨鏋滀笉涓鑷?閭h繖鏍風殑鍘熷洜寰堟槑鏄句簡錛屽師鍥犱笉澶栦箮榪欏嚑鏉★細

1錛夊彉閲忔病鏈夊垵濮嬪寲灝辯洿鎺ユ嬁鍘葷敤浜嗭細璋冭瘯紼嬪簭鏃訛紝寮哄ぇ鐨刅S緙栬瘧鍣ㄤ細甯綘鍋氫竴浜涘垵濮嬪寲鐨勫伐浣滐紝灝嗕負鍒濆鍖栫殑鍙橀噺緗?#8220;0”錛岀粨鏋勫彉閲忕疆涓篘ULL絳?/strong>錛屼絾鏄湪鍙屽嚮榪愯鏃訛紝緙栬瘧鍣ㄤ笉浼氳繖涔堝仛錛屽洜姝よ娉ㄦ剰涓浜涘彉閲忚寰楀垵濮嬪寲錛岃屼笖灝介噺灝戠敤鍏ㄥ眬鍙橀噺銆?br />2錛?#8220;VS鐨勭紪璇戝櫒鏄瀬鍏剁墰X鐨勶紝璋冭瘯鏃跺欑敤鐨勫唴瀛樸佸爢鏍堢瓑絳夊拰澶栭儴榪愯鏃跺欑殑緇撴瀯紼嶆湁宸紓錛屽茍涓旀紜巼鏇撮珮——浜嬪疄涔熺‘瀹炲姝?#8221;錛屽洜姝ode浠g爜瑕佹湁涓壇濂界殑涔犳儻錛氬彉閲忚寰椾竴瀹氳鍒濆鍖栵紒“鍙橀噺娌¤祴鍊肩殑鎯呭喌涓婩5錛宒ebug鍜宺elease鏄湁宸埆鐨勶紝涓涓増鏈細娓呴浂錛屽彟涓涓笉浼氳繖涔堝仛銆?#8221;
3錛夎嚜宸辯敵璇風殑鍐呭瓨錛岀敤瀹屽悗璁板緱閲婃斁錛屼笉鐒朵篃鍙兘浼氬紩璧瘋繖綾婚敊璇?br />4錛変笉瑕佸拷瑙嗚皟璇曟椂鐨剋arning錛岃櫧鐒跺緢澶氭椂鍊欎綘鏃犺浠栫殑瀛樺湪涓嶄細甯︽潵浠涔堝獎鍝嶏紝浣嗘槸鏌愪竴澶╀綘浼氳浠栦激鍒扮殑錛屼粬浠寚紺轟綘紼嬪簭娼滃湪閿欒鐨?#8220;鍒╁櫒”錛屾墍浠ュ敖閲忓鐨勫皢warning娑堥櫎銆?br />

鎴戠殑鍘熷洜灝辨槸涓鴻鑹叉坊鍔犱簡涓涓柊鎴愬憳鍙橀噺m_bMoveEnable 鍗存病鏈夊垵濮嬪寲, 鍦╝ndroid騫沖彴鏈夋椂鍊欏垵濮嬪寲涓篺alse, 瀵艱嚧瑙掕壊鍑虹敓鏃朵笉縐誨姩榪欐牱涓ラ噸鐨凚UG

鏈変漢璇?bool鍙橀噺涓嶆槸浼氶粯璁ゅ垵濮嬪寲涓簒x涔堬紵 鏄紝鍙兘寮哄ぇ鐨刅S浼氬湪浣犺皟璇曠殑鏃跺欏府浣犲垵濮嬪寲錛岄偅榪愯鏃跺憿錛?榪樻湁璺ㄥ鉤鍙伴粯璁ょ殑鍒濆鍖栭兘鏄湭鐭ョ殑...

鎵浠ユ垜浠鍏繪垚鍒濆鍖栫殑濂戒範鎯紝鍚﹀垯鐜板湪娌℃湁鍙戠敓闂錛屾湭鏉ョ殑鏈潵錛屽彲鑳戒細瀵艱嚧涓ラ噸鐨凚UG錛岃屾氮璐規垜浠法澶х殑鏃墮棿鍘昏В鍐籌紝鐢氳嚦鏄棤浠庤В鍐?..

]]>
C++瀛︿範絎旇01 stringstreamhttp://www.shnenglu.com/wc250en007/archive/2012/07/31/185713.htmlLet me see seeLet me see seeTue, 31 Jul 2012 00:15:00 GMThttp://www.shnenglu.com/wc250en007/archive/2012/07/31/185713.htmlhttp://www.shnenglu.com/wc250en007/comments/185713.htmlhttp://www.shnenglu.com/wc250en007/archive/2012/07/31/185713.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/185713.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/185713.html浣跨敤stringstream瀵硅薄綆鍖栫被鍨嬭漿鎹?br />C++鏍囧噯搴撲腑鐨?lt;sstream>鎻愪緵浜嗘瘮ANSI C鐨?lt;stdio.h>鏇撮珮綰х殑涓浜涘姛鑳斤紝鍗沖崟綰с佺被鍨嬪畨鍏ㄥ拰鍙墿灞曟с傚湪鏈枃涓紝鎴戝皢灞曠ず鎬庢牱浣跨敤榪欎簺搴撴潵瀹炵幇瀹夊叏鍜岃嚜鍔ㄧ殑綾誨瀷杞崲銆?/p>

涓轟粈涔堣瀛︿範

濡傛灉浣犲凡涔犳儻浜?lt;stdio.h>椋庢牸鐨勮漿鎹紝涔熻浣犻鍏堜細闂細涓轟粈涔堣鑺遍澶栫殑綺懼姏鏉ュ涔犲熀浜?lt;sstream>鐨勭被鍨嬭漿鎹㈠憿錛熶篃璁稿涓嬮潰涓涓畝鍗曠殑渚嬪瓙鐨勫洖欏捐兘澶熻鏈嶄綘銆傚亣璁句綘鎯崇敤sprintf()鍑芥暟灝嗕竴涓彉閲忎粠int綾誨瀷杞崲鍒板瓧絎︿覆綾誨瀷銆備負浜嗘紜湴瀹屾垚榪欎釜浠誨姟錛屼綘蹇呴』紜繚璇佺洰鏍囩紦鍐插尯鏈夎凍澶熷ぇ絀洪棿浠ュ綰寵漿鎹㈠畬鐨勫瓧絎︿覆銆傛澶栵紝榪樺繀欏諱嬌鐢ㄦ紜殑鏍煎紡鍖栫銆傚鏋滀嬌鐢ㄤ簡涓嶆紜殑鏍煎紡鍖栫錛屼細瀵艱嚧闈為鐭ョ殑鍚庢灉銆備笅闈㈡槸涓涓緥瀛愶細

int n=10000;

chars[10];

sprintf(s,”%d”,n);// s涓殑鍐呭涓?#8220;10000”

鍒扮洰鍓嶄負姝㈢湅璧鋒潵榪樹笉閿欍備絾鏄紝瀵逛笂闈唬鐮佺殑涓涓井灝忕殑鏀瑰彉灝變細浣跨▼搴忓穿婧冿細

int n=10000;

char s[10];

sprintf(s,”%f”,n);// 鐪嬶紒閿欒鐨勬牸寮忓寲絎?br />

鍦ㄨ繖縐嶆儏鍐典笅錛岀▼搴忓憳閿欒鍦頒嬌鐢ㄤ簡%f鏍煎紡鍖栫鏉ユ浛浠d簡%d銆傚洜姝わ紝s鍦ㄨ皟鐢ㄥ畬sprintf()鍚庡寘鍚簡涓涓笉紜畾鐨勫瓧絎︿覆銆傝鏄兘鑷姩鎺ㄥ鍑烘紜殑綾誨瀷錛岄偅涓嶆槸鏇村ソ鍚楋紵

榪涘叆stringstream

鐢變簬n鍜?/span>s鐨勭被鍨嬪湪緙栬瘧鏈熷氨紜畾浜嗭紝鎵浠ョ紪璇戝櫒鎷ユ湁瓚沖鐨勪俊鎭潵鍒ゆ柇闇瑕佸摢浜涜漿鎹€?lt;sstream>搴撲腑澹版槑鐨勬爣鍑嗙被灝卞埄鐢ㄤ簡榪欎竴鐐癸紝鑷姩閫夋嫨鎵蹇呴渶鐨勮漿鎹€傝屼笖錛岃漿鎹㈢粨鏋滀繚瀛樺湪stringstream瀵硅薄鐨勫唴閮ㄧ紦鍐蹭腑銆備綘涓嶅繀鎷呭績緙撳啿鍖烘孩鍑猴紝鍥犱負榪欎簺瀵硅薄浼氭牴鎹渶瑕佽嚜鍔ㄥ垎閰嶅瓨鍌ㄧ┖闂淬?/span>

浣犵殑緙栬瘧鍣ㄦ敮鎸?lt;sstream>鍚楋紵

<sstream>搴撴槸鏈榪戞墠琚垪鍏++鏍囧噯鐨勩傦紙涓嶈鎶?lt;sstream>涓庢爣鍑嗗彂甯冨墠琚垹鎺夌殑<strstream>寮勬販浜嗐傦級鍥犳錛岃佷竴鐐圭殑緙栬瘧鍣紝濡侴CC2.95錛屽茍涓嶆敮鎸佸畠銆傚鏋滀綘鎭板ソ姝e湪浣跨敤榪欐牱鐨勭紪璇戝櫒鑰屽張鎯充嬌鐢?lt;sstream>鐨勮瘽錛屽氨瑕佸厛瀵瑰畠榪涜鍗囩駭鏇存柊銆?/span>

<sstream>搴撳畾涔変簡涓夌綾伙細istringstream銆乷stringstream鍜宻tringstream錛屽垎鍒敤鏉ヨ繘琛屾祦鐨勮緭鍏ャ佽緭鍑哄拰杈撳叆杈撳嚭鎿嶄綔銆傚彟澶栵紝姣忎釜綾婚兘鏈変竴涓搴旂殑瀹藉瓧絎﹂泦鐗堟湰銆傜畝鍗曡搗瑙侊紝鎴戜富瑕佷互stringstream涓轟腑蹇冿紝鍥犱負姣忎釜杞崲閮借娑夊強鍒拌緭鍏ュ拰杈撳嚭鎿嶄綔銆?/span>

娉ㄦ剰錛?lt;sstream>浣跨敤string瀵硅薄鏉ヤ唬鏇垮瓧絎︽暟緇勩傝繖鏍峰彲浠ラ伩鍏嶇紦鍐插尯婧㈠嚭鐨勫嵄闄?/strong>銆傝屼笖錛屼紶鍏ュ弬鏁板拰鐩爣瀵硅薄鐨勭被鍨嬭鑷姩鎺ㄥ鍑烘潵錛屽嵆浣夸嬌鐢ㄤ簡涓嶆紜殑鏍煎紡鍖栫涔熸病鏈夊嵄闄┿?br />


string鍒癷nt鐨勮漿鎹?br />
string result=”10000”;
int n=0;
stream<<result;
stream>>n;//n絳変簬10000

閲嶅鍒╃敤stringstream瀵硅薄

濡傛灉浣犳墦綆楀湪澶氭杞崲涓嬌鐢ㄥ悓涓涓猻tringstream瀵硅薄錛岃浣忓啀姣忔杞崲鍓嶈浣跨敤clear()鏂規硶錛?/p>

鍦ㄥ嬈¤漿鎹腑閲嶅浣跨敤鍚屼竴涓猻tringstream錛堣屼笉鏄瘡嬈¢兘鍒涘緩涓涓柊鐨勫璞★級瀵硅薄鏈澶х殑濂藉鍦ㄤ簬鏁堢巼銆俿tringstream瀵硅薄鐨勬瀯閫犲拰鏋愭瀯鍑芥暟閫氬父鏄潪甯歌楄垂CPU鏃墮棿鐨勩?/p>

鍦ㄧ被鍨嬭漿鎹腑浣跨敤妯℃澘

浣犲彲浠ヨ交鏉懼湴瀹氫箟鍑芥暟妯℃澘鏉ュ皢涓涓換鎰忕殑綾誨瀷杞崲鍒扮壒瀹氱殑鐩爣綾誨瀷銆備緥濡傦紝闇瑕佸皢鍚勭鏁板瓧鍊鹼紝濡俰nt銆乴ong銆乨ouble絳夌瓑杞崲鎴愬瓧絎︿覆錛岃浣跨敤浠ヤ竴涓猻tring綾誨瀷鍜屼竴涓換鎰忓?em>t涓哄弬鏁扮殑to_string()鍑芥暟銆倀o_string()鍑芥暟灝?em>t杞崲涓哄瓧絎︿覆騫跺啓鍏esult涓備嬌鐢╯tr()鎴愬憳鍑芥暟鏉ヨ幏鍙栨祦鍐呴儴緙撳啿鐨勪竴浠芥嫹璐濓細

template<class T>

void to_string(string & result,const T& t)

{

 ostringstream oss;//鍒涘緩涓涓祦

oss<<t;//鎶婂間紶閫掑嫻佷腑

result=oss.str();//鑾峰彇杞崲鍚庣殑瀛楃杞茍灝嗗叾鍐欏叆result
}

榪欐牱錛屼綘灝卞彲浠ヨ交鏉懼湴灝嗗縐嶆暟鍊艱漿鎹㈡垚瀛楃涓蹭簡錛?br />
to_string(s1,10.5);//double鍒皊tring

to_string(s2,123);//int鍒皊tring

to_string(s3,true);//bool鍒皊tring

鍙互鏇磋繘涓姝ュ畾涔変竴涓氱敤鐨勮漿鎹㈡ā鏉匡紝鐢ㄤ簬浠繪剰綾誨瀷涔嬮棿鐨勮漿鎹€傚嚱鏁版ā鏉縞onvert()鍚湁涓や釜妯℃澘鍙傛暟out_type鍜宨n_value錛屽姛鑳芥槸灝唅n_value鍊艱漿鎹㈡垚out_type綾誨瀷錛?br />
template<class out_type,class in_value>

out_type convert(const in_value & t)

{

stringstream stream;

stream<<t;//鍚戞祦涓紶鍊?/p>

out_type result;//榪欓噷瀛樺偍杞崲緇撴灉

stream>>result;//鍚憆esult涓啓鍏ュ?/p>

return result;

}

榪欐牱浣跨敤convert()錛?/p>

double d;

string salary;

string s=”12.56”;

d=convert<double>(s);//d絳変簬12.56

salary=convert<string>(9000.0);//salary絳変簬”9000”



緇撹

 

鍦ㄨ繃鍘葷暀涓嬫潵鐨勭▼搴忎唬鐮佸拰綰補鐨凜紼嬪簭涓紝浼犵粺鐨?lt;stdio.h>褰㈠紡鐨勮漿鎹即闅忎簡鎴戜滑寰堥暱鐨勪竴孌墊椂闂淬備絾鏄紝濡傛枃涓墍榪幫紝鍩轟簬stringstream鐨勮漿鎹㈡嫢鏈夌被鍨嬪畨鍏ㄥ拰涓嶄細婧㈠嚭榪欐牱鎶㈢溂鐨勭壒鎬э紝浣挎垜浠湁鍏呰凍寰楃悊鐢辨姏寮?lt;stdio.h>鑰屼嬌鐢?lt;sstream>銆?lt;sstream>搴撹繕鎻愪緵浜嗗彟澶栦竴涓壒鎬?#8212;鍙墿灞曟с備綘鍙互閫氳繃閲嶈澆鏉ユ敮鎸佽嚜瀹氫箟綾誨瀷闂寸殑杞崲銆?br />
涓浜涘疄渚嬶細

stringstream閫氬父鏄敤鏉ュ仛鏁版嵁杞崲鐨勩?/p>

鐩告瘮c搴撶殑杞崲錛屽畠鏇村姞瀹夊叏錛岃嚜鍔ㄥ拰鐩存帴銆?/p>

 

渚嬪瓙涓錛氬熀鏈暟鎹被鍨嬭漿鎹緥瀛?int杞瑂tring

#include <string>
#include 
<sstream>
#include 
<iostream> 

int main()
{
    std::stringstream stream;
    std::
string result;
    
int i = 1000;
    stream 
<< i; //灝唅nt杈撳叆嫻?/span>
    stream >> result; //浠巗tream涓娊鍙栧墠闈㈡彃鍏ョ殑int鍊?/span>
    std::cout << result << std::endl; // print the string "1000"
}
 



渚嬪瓙浜岋細闄や簡鍩烘湰綾誨瀷鐨勮漿鎹紝涔熸敮鎸乧har *鐨勮漿鎹€?/span>

#include <sstream>
#include 
<iostream> 

int main()
{
    std::stringstream stream;
    
char result[8] ;
    stream 
<< 8888//鍚憇tream涓彃鍏?888
    stream >> result; //鎶藉彇stream涓殑鍊煎埌result
    std::cout << result << std::endl; // 灞忓箷鏄劇ず "8888"
}
 


渚嬪瓙涓夛細鍐嶈繘琛屽嬈¤漿鎹㈢殑鏃跺欙紝蹇呴』璋冪敤stringstream鐨勬垚鍛樺嚱鏁皊tr("")

#include <sstream>
#include 
<iostream>
int main()
{
    std::stringstream stream;
    
int first, second;
    stream
<< "456"//鎻掑叆瀛楃涓?/span>
    stream >> first; //杞崲鎴恑nt
    std::cout << first << std::endl;
            
// This copies an empty string into ss, erasing the
        
//  previous contents.
        ss << ""
        
// This clears the 'eof' flag.  Otherwise, even after 
        
//  writing new data to ss we wouldn't be able to
        
//  read from it.
        ss.clear();    stream << true//鎻掑叆bool鍊?/span>
    stream >> second; //鎻愬彇鍑篿nt
    std::cout << second << std::endl;
}
 


鍘熸枃鍦板潃錛?br />http://www.builder.com.cn/2003/0304/83250.shtml
http://www.shnenglu.com/alantop/archive/2007/07/10/27823.html


----------------------------------------------------------鍗庝附涓界殑鍒嗗壊綰?------------------------------------------------------------------------------






]]>
鍒ゆ柇璺緞鏂囦歡澶規槸鍚﹀瓨鍦?涓嶅瓨鍦ㄥ垱寤?/title><link>http://www.shnenglu.com/wc250en007/archive/2012/03/24/168794.html</link><dc:creator>Let me see see</dc:creator><author>Let me see see</author><pubDate>Sat, 24 Mar 2012 07:12:00 GMT</pubDate><guid>http://www.shnenglu.com/wc250en007/archive/2012/03/24/168794.html</guid><wfw:comment>http://www.shnenglu.com/wc250en007/comments/168794.html</wfw:comment><comments>http://www.shnenglu.com/wc250en007/archive/2012/03/24/168794.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/wc250en007/comments/commentRss/168794.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wc250en007/services/trackbacks/168794.html</trackback:ping><description><![CDATA[C/C++鍒ゆ柇涓涓枃浠舵槸鍚﹀瓨鍦?br />1.<br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img id="Codehighlighter1_41_140_Open_Image" onclick="this.style.display='none'; Codehighlighter1_41_140_Open_Text.style.display='none'; Codehighlighter1_41_140_Closed_Image.style.display='inline'; Codehighlighter1_41_140_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_41_140_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_41_140_Closed_Text.style.display='none'; Codehighlighter1_41_140_Open_Image.style.display='inline'; Codehighlighter1_41_140_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedBlock.gif" align="top"><span style="color: #0000ff">bool</span><span style="color: #000000"> isExistFile(</span><span style="color: #0000ff">const</span><span style="color: #000000"> </span><span style="color: #0000ff">char</span><span style="color: #000000"> </span><span style="color: #000000">*</span><span style="color: #000000">pszFileName)</span><span id="Codehighlighter1_41_140_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_41_140_Open_Text"><span style="color: #000000">{<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    FILE </span><span style="color: #000000">*</span><span style="color: #000000">fp </span><span style="color: #000000">=</span><span style="color: #000000"> fopen(pszFileName, </span><span style="color: #000000">"</span><span style="color: #000000">rb</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">if</span><span style="color: #000000">(fp </span><span style="color: #000000">==</span><span style="color: #000000"> NULL)<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">false</span><span style="color: #000000">;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    fclose(fp);<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">true</span><span style="color: #000000">;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />}</span></span></div>鎴?br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img id="Codehighlighter1_41_139_Open_Image" onclick="this.style.display='none'; Codehighlighter1_41_139_Open_Text.style.display='none'; Codehighlighter1_41_139_Closed_Image.style.display='inline'; Codehighlighter1_41_139_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_41_139_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_41_139_Closed_Text.style.display='none'; Codehighlighter1_41_139_Open_Image.style.display='inline'; Codehighlighter1_41_139_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedBlock.gif" align="top"><span style="color: #0000ff">bool</span><span style="color: #000000"> isExistFile(</span><span style="color: #0000ff">const</span><span style="color: #000000"> </span><span style="color: #0000ff">char</span><span style="color: #000000"> </span><span style="color: #000000">*</span><span style="color: #000000">pszFileName)</span><span id="Codehighlighter1_41_139_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_41_139_Open_Text"><span style="color: #000000">{<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        fstream file;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        file.open(pszFileName,ios::</span><span style="color: #0000ff">in</span><span style="color: #000000">);<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">if</span><span style="color: #000000">(</span><span style="color: #000000">!</span><span style="color: #000000">file)<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />            </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">false</span><span style="color: #000000">;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">true</span><span style="color: #000000">;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />    }</span></span></div><br />2.<span id="cmouoiw" class="Apple-style-span" style="word-spacing: 0px; font: medium Simsun; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span id="ow6y4ug" class="Apple-style-span" style="font-size: 14px; color: rgb(51,51,51); line-height: 26px; font-family: Arial; text-align: left">鍒╃敤 c 璇█鐨勫簱鐨勫姙娉曪細 <p>鍑芥暟鍚? access<br /></p></span></span> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #008000">//</span><span style="color: #008000"> crt_access.c</span><span style="color: #008000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #000000">#include  </span><span style="color: #000000"><</span><span style="color: #000000">io.h</span><span style="color: #000000">></span><span style="color: #000000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" />#include  </span><span style="color: #000000"><</span><span style="color: #000000">stdio.h</span><span style="color: #000000">></span><span style="color: #000000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" />#include  </span><span style="color: #000000"><</span><span style="color: #000000">stdlib.h</span><span style="color: #000000">></span><span style="color: #000000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">int</span><span style="color: #000000"> main( </span><span style="color: #0000ff">void</span><span style="color: #000000"> )<br /><img id="Codehighlighter1_92_425_Open_Image" onclick="this.style.display='none'; Codehighlighter1_92_425_Open_Text.style.display='none'; Codehighlighter1_92_425_Closed_Image.style.display='inline'; Codehighlighter1_92_425_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_92_425_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_92_425_Closed_Text.style.display='none'; Codehighlighter1_92_425_Open_Image.style.display='inline'; Codehighlighter1_92_425_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedBlock.gif" align="top"></span><span id="Codehighlighter1_92_425_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_92_425_Open_Text"><span style="color: #000000">{<br /><img id="Codehighlighter1_97_121_Open_Image" onclick="this.style.display='none'; Codehighlighter1_97_121_Open_Text.style.display='none'; Codehighlighter1_97_121_Closed_Image.style.display='inline'; Codehighlighter1_97_121_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_97_121_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_97_121_Closed_Text.style.display='none'; Codehighlighter1_97_121_Open_Image.style.display='inline'; Codehighlighter1_97_121_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top">   </span><span id="Codehighlighter1_97_121_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_97_121_Open_Text"><span style="color: #008000">/*</span><span style="color: #008000"> Check for existence </span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />   </span><span style="color: #0000ff">if</span><span style="color: #000000">( (_access( </span><span style="color: #000000">"</span><span style="color: #000000">crt_ACCESS.C</span><span style="color: #000000">"</span><span style="color: #000000">, </span><span style="color: #000000">0</span><span style="color: #000000"> )) </span><span style="color: #000000">!=</span><span style="color: #000000"> </span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000"> )<br /><img id="Codehighlighter1_172_423_Open_Image" onclick="this.style.display='none'; Codehighlighter1_172_423_Open_Text.style.display='none'; Codehighlighter1_172_423_Closed_Image.style.display='inline'; Codehighlighter1_172_423_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_172_423_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_172_423_Closed_Text.style.display='none'; Codehighlighter1_172_423_Open_Image.style.display='inline'; Codehighlighter1_172_423_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top">   </span><span id="Codehighlighter1_172_423_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_172_423_Open_Text"><span style="color: #000000">{<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />      printf( </span><span style="color: #000000">"</span><span style="color: #000000">File crt_ACCESS.C exists\n</span><span style="color: #000000">"</span><span style="color: #000000"> );<br /><img id="Codehighlighter1_227_258_Open_Image" onclick="this.style.display='none'; Codehighlighter1_227_258_Open_Text.style.display='none'; Codehighlighter1_227_258_Closed_Image.style.display='inline'; Codehighlighter1_227_258_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_227_258_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_227_258_Closed_Text.style.display='none'; Codehighlighter1_227_258_Open_Image.style.display='inline'; Codehighlighter1_227_258_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top">      </span><span id="Codehighlighter1_227_258_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_227_258_Open_Text"><span style="color: #008000">/*</span><span style="color: #008000"> Check for write permission </span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img id="Codehighlighter1_266_295_Open_Image" onclick="this.style.display='none'; Codehighlighter1_266_295_Open_Text.style.display='none'; Codehighlighter1_266_295_Closed_Image.style.display='inline'; Codehighlighter1_266_295_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_266_295_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_266_295_Closed_Text.style.display='none'; Codehighlighter1_266_295_Open_Image.style.display='inline'; Codehighlighter1_266_295_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top">      </span><span id="Codehighlighter1_266_295_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**/</span><span id="Codehighlighter1_266_295_Open_Text"><span style="color: #008000">/*</span><span style="color: #008000"> assume file is read-only </span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />      </span><span style="color: #0000ff">if</span><span style="color: #000000">( (_access( </span><span style="color: #000000">"</span><span style="color: #000000">crt_ACCESS.C</span><span style="color: #000000">"</span><span style="color: #000000">, </span><span style="color: #000000">2</span><span style="color: #000000"> )) </span><span style="color: #000000">==</span><span style="color: #000000"> </span><span style="color: #000000">-</span><span style="color: #000000">1</span><span style="color: #000000"> )<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />         printf( </span><span style="color: #000000">"</span><span style="color: #000000">File crt_ACCESS.C does not have write permission\n</span><span style="color: #000000">"</span><span style="color: #000000"> );<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />   }</span></span><span style="color: #000000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />}</span></span></div><br />3.鐢‵indFirstFile<br /><br /><br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #000000">#include </span><span style="color: #000000"><</span><span style="color: #000000">windows.h</span><span style="color: #000000">></span><span style="color: #000000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" />#include </span><span style="color: #000000"><</span><span style="color: #0000ff">string</span><span style="color: #000000">></span><span style="color: #000000"> <br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" />#include </span><span style="color: #000000"><</span><span style="color: #000000">vector</span><span style="color: #000000">></span><span style="color: #000000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">using</span><span style="color: #000000"> </span><span style="color: #0000ff">namespace</span><span style="color: #000000"> std; <br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #008000">//</span><span style="color: #008000"> 鏍告煡鐩綍錛岃嫢鐩綍涓嶅瓨鍦紝鍒涘緩鐩綍</span><span style="color: #008000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">bool</span><span style="color: #000000"> FindOrCreateDirectory( </span><span style="color: #0000ff">const</span><span style="color: #000000"> </span><span style="color: #0000ff">char</span><span style="color: #000000">*</span><span style="color: #000000"> pszPath )<br /><img id="Codehighlighter1_151_574_Open_Image" onclick="this.style.display='none'; Codehighlighter1_151_574_Open_Text.style.display='none'; Codehighlighter1_151_574_Closed_Image.style.display='inline'; Codehighlighter1_151_574_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_151_574_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_151_574_Closed_Text.style.display='none'; Codehighlighter1_151_574_Open_Image.style.display='inline'; Codehighlighter1_151_574_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedBlock.gif" align="top"></span><span id="Codehighlighter1_151_574_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_151_574_Open_Text"><span style="color: #000000">{<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    WIN32_FIND_DATA fd;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    HANDLE hFind </span><span style="color: #000000">=</span><span style="color: #000000"> ::FindFirstFile( pszPath, </span><span style="color: #000000">&</span><span style="color: #000000">fd );<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">while</span><span style="color: #000000">( hFind </span><span style="color: #000000">!=</span><span style="color: #000000"> INVALID_HANDLE_VALUE )<br /><img id="Codehighlighter1_264_339_Open_Image" onclick="this.style.display='none'; Codehighlighter1_264_339_Open_Text.style.display='none'; Codehighlighter1_264_339_Closed_Image.style.display='inline'; Codehighlighter1_264_339_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_264_339_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_264_339_Closed_Text.style.display='none'; Codehighlighter1_264_339_Open_Image.style.display='inline'; Codehighlighter1_264_339_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top">    </span><span id="Codehighlighter1_264_339_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_264_339_Open_Text"><span style="color: #000000">{<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">if</span><span style="color: #000000"> ( fd.dwFileAttributes </span><span style="color: #000000">&</span><span style="color: #000000"> FILE_ATTRIBUTE_DIRECTORY )<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />            </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">true</span><span style="color: #000000">;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">if</span><span style="color: #000000"> ( </span><span style="color: #000000">!</span><span style="color: #000000">::CreateDirectory( pszPath, NULL ) )<br /><img id="Codehighlighter1_387_557_Open_Image" onclick="this.style.display='none'; Codehighlighter1_387_557_Open_Text.style.display='none'; Codehighlighter1_387_557_Closed_Image.style.display='inline'; Codehighlighter1_387_557_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_387_557_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_387_557_Closed_Text.style.display='none'; Codehighlighter1_387_557_Open_Image.style.display='inline'; Codehighlighter1_387_557_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top">    </span><span id="Codehighlighter1_387_557_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_387_557_Open_Text"><span style="color: #000000">{<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">char</span><span style="color: #000000"> szDir[MAX_PATH];<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        sprintf_s( szDir, </span><span style="color: #0000ff">sizeof</span><span style="color: #000000">(szDir), </span><span style="color: #000000">"</span><span style="color: #000000">鍒涘緩鐩綍[%s]澶辮觸,璇鋒鏌ユ潈闄?/span><span style="color: #000000">"</span><span style="color: #000000">, pszPath );<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        ::MessageBox( NULL, szDir, </span><span style="color: #000000">"</span><span style="color: #000000">鍒涘緩鐩綍澶辮觸</span><span style="color: #000000">"</span><span style="color: #000000">, MB_OK</span><span style="color: #000000">|</span><span style="color: #000000">MB_ICONERROR );<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">false</span><span style="color: #000000">;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">true</span><span style="color: #000000">;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />}</span></span><span style="color: #000000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #008000">//</span><span style="color: #008000"> 閬嶅巻鐩綍</span><span style="color: #008000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">bool</span><span style="color: #000000"> CheckDirectory( </span><span style="color: #0000ff">char</span><span style="color: #000000">*</span><span style="color: #000000"> pszPath )<br /><img id="Codehighlighter1_622_1198_Open_Image" onclick="this.style.display='none'; Codehighlighter1_622_1198_Open_Text.style.display='none'; Codehighlighter1_622_1198_Closed_Image.style.display='inline'; Codehighlighter1_622_1198_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_622_1198_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_622_1198_Closed_Text.style.display='none'; Codehighlighter1_622_1198_Open_Image.style.display='inline'; Codehighlighter1_622_1198_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedBlock.gif" align="top"></span><span id="Codehighlighter1_622_1198_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_622_1198_Open_Text"><span style="color: #000000">{<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    vector</span><span style="color: #000000"><</span><span style="color: #000000"> std::</span><span style="color: #0000ff">string</span><span style="color: #000000"> </span><span style="color: #000000">></span><span style="color: #000000"> vtPath;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">const</span><span style="color: #000000"> </span><span style="color: #0000ff">char</span><span style="color: #000000">*</span><span style="color: #000000"> sep </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">\\/</span><span style="color: #000000">"</span><span style="color: #000000">;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">char</span><span style="color: #000000">*</span><span style="color: #000000"> next_token;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">char</span><span style="color: #000000">*</span><span style="color: #000000"> token </span><span style="color: #000000">=</span><span style="color: #000000">  strtok_s( pszPath, sep, </span><span style="color: #000000">&</span><span style="color: #000000">next_token);<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">while</span><span style="color: #000000">( token </span><span style="color: #000000">!=</span><span style="color: #000000"> NULL )<br /><img id="Codehighlighter1_782_858_Open_Image" onclick="this.style.display='none'; Codehighlighter1_782_858_Open_Text.style.display='none'; Codehighlighter1_782_858_Closed_Image.style.display='inline'; Codehighlighter1_782_858_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_782_858_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_782_858_Closed_Text.style.display='none'; Codehighlighter1_782_858_Open_Image.style.display='inline'; Codehighlighter1_782_858_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top">    </span><span id="Codehighlighter1_782_858_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_782_858_Open_Text"><span style="color: #000000">{<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        vtPath.push_back( token );<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        token </span><span style="color: #000000">=</span><span style="color: #000000"> strtok_s(NULL, sep, </span><span style="color: #000000">&</span><span style="color: #000000">next_token);<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">if</span><span style="color: #000000"> ( vtPath.size() </span><span style="color: #000000">></span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000"> )<br /><img id="Codehighlighter1_888_952_Open_Image" onclick="this.style.display='none'; Codehighlighter1_888_952_Open_Text.style.display='none'; Codehighlighter1_888_952_Closed_Image.style.display='inline'; Codehighlighter1_888_952_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_888_952_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_888_952_Closed_Text.style.display='none'; Codehighlighter1_888_952_Open_Image.style.display='inline'; Codehighlighter1_888_952_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top">    </span><span id="Codehighlighter1_888_952_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_888_952_Open_Text"><span style="color: #000000">{<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">if</span><span style="color: #000000"> ( vtPath[</span><span style="color: #000000">0</span><span style="color: #000000">] </span><span style="color: #000000">==</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">.</span><span style="color: #000000">"</span><span style="color: #000000"> )<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />            vtPath.erase( vtPath.begin() );<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #008000">//</span><span style="color: #008000"> 鏍告煡鎵鏈夎礬寰勬槸鍚﹀瓨鍦?/span><span style="color: #008000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /></span><span style="color: #000000">    std::</span><span style="color: #0000ff">string</span><span style="color: #000000"> strCurPath;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">for</span><span style="color: #000000">( size_t i </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">; i  </span><span style="color: #000000"><</span><span style="color: #000000"> (</span><span style="color: #0000ff">int</span><span style="color: #000000">)vtPath.size(); </span><span style="color: #000000">++</span><span style="color: #000000">i )<br /><img id="Codehighlighter1_1047_1181_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1047_1181_Open_Text.style.display='none'; Codehighlighter1_1047_1181_Closed_Image.style.display='inline'; Codehighlighter1_1047_1181_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_1047_1181_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1047_1181_Closed_Text.style.display='none'; Codehighlighter1_1047_1181_Open_Image.style.display='inline'; Codehighlighter1_1047_1181_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top">    </span><span id="Codehighlighter1_1047_1181_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_1047_1181_Open_Text"><span style="color: #000000">{<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        strCurPath </span><span style="color: #000000">+=</span><span style="color: #000000"> vtPath[i];<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        strCurPath </span><span style="color: #000000">+=</span><span style="color: #000000"> </span><span style="color: #000000">'</span><span style="color: #000000">\\</span><span style="color: #000000">'</span><span style="color: #000000">;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">if</span><span style="color: #000000"> ( </span><span style="color: #000000">!</span><span style="color: #000000">FindOrCreateDirectory( strCurPath.c_str() ) )<br /><img id="Codehighlighter1_1157_1178_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1157_1178_Open_Text.style.display='none'; Codehighlighter1_1157_1178_Closed_Image.style.display='inline'; Codehighlighter1_1157_1178_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_1157_1178_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1157_1178_Closed_Text.style.display='none'; Codehighlighter1_1157_1178_Open_Image.style.display='inline'; Codehighlighter1_1157_1178_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top">        </span><span id="Codehighlighter1_1157_1178_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_1157_1178_Open_Text"><span style="color: #000000">{<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />            </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">false</span><span style="color: #000000">;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />        }</span></span><span style="color: #000000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">true</span><span style="color: #000000">;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />}</span></span><span style="color: #000000"><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">int</span><span style="color: #000000"> main() <br /><img id="Codehighlighter1_1214_1346_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1214_1346_Open_Text.style.display='none'; Codehighlighter1_1214_1346_Closed_Image.style.display='inline'; Codehighlighter1_1214_1346_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_1214_1346_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1214_1346_Closed_Text.style.display='none'; Codehighlighter1_1214_1346_Open_Image.style.display='inline'; Codehighlighter1_1214_1346_Open_Text.style.display='inline';" src="http://www.shnenglu.com/images/OutliningIndicators/ContractedBlock.gif" align="top"></span><span id="Codehighlighter1_1214_1346_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_1214_1346_Open_Text"><span style="color: #000000">{ <br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">char</span><span style="color: #000000"> szPath[MAX_PATH] </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">./main\\test\\hello/jump\\test\\</span><span style="color: #000000">"</span><span style="color: #000000">;<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    CheckDirectory( szPath );<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    <br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    system(</span><span style="color: #000000">"</span><span style="color: #000000">pause</span><span style="color: #000000">"</span><span style="color: #000000">);<br /><img src="http://www.shnenglu.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">; <br /><img src="http://www.shnenglu.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />}</span></span><span style="color: #000000"> </span></div><img src ="http://www.shnenglu.com/wc250en007/aggbug/168794.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wc250en007/" target="_blank">Let me see see</a> 2012-03-24 15:12 <a href="http://www.shnenglu.com/wc250en007/archive/2012/03/24/168794.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>MiniCodehttp://www.shnenglu.com/wc250en007/archive/2011/12/14/162072.htmlLet me see seeLet me see seeWed, 14 Dec 2011 00:11:00 GMThttp://www.shnenglu.com/wc250en007/archive/2011/12/14/162072.htmlhttp://www.shnenglu.com/wc250en007/comments/162072.htmlhttp://www.shnenglu.com/wc250en007/archive/2011/12/14/162072.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/162072.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/162072.htmlbool StringEqual( const char* p,
        const char* tag,
        bool ignoreCase
        /*TiXmlEncoding encoding */)
{
 assert( p );
 assert( tag );
 if ( !p || !*p )
 {
  assert( 0 );
  return false;
 }

 const char* q = p;

 if ( ignoreCase )
 {
  while ( *q && *tag && tolower( *q ) == tolower( *tag ) )
  {
   ++q;
   ++tag;
  }

  if ( *tag == 0 )
   return true;
 }
 else
 {
  while ( *q && *tag && *q == *tag )
  {
   ++q;
   ++tag;
  }

  if ( *tag == 0 )  // Have we found the end of the tag, and everything equal?
   return true;
 }
 return false;
}

2.璇誨彇鏂囦歡

    string line; 
    ifstream input(
"input.txt",ios::in); 

    
while(1
    

        getline(input,line); 
        
if(input.eof()) break

    }
 
    input.close(); 

 



]]>
鍒犻櫎瀹瑰櫒鍏冪礌鑷磋凱浠e櫒澶辨晥http://www.shnenglu.com/wc250en007/archive/2011/11/08/159830.htmlLet me see seeLet me see seeTue, 08 Nov 2011 09:33:00 GMThttp://www.shnenglu.com/wc250en007/archive/2011/11/08/159830.htmlhttp://www.shnenglu.com/wc250en007/comments/159830.htmlhttp://www.shnenglu.com/wc250en007/archive/2011/11/08/159830.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/159830.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/159830.html鏉ョ湅涓嬩粈涔堟槸榪唬鍣紝 浠諱綍鐗瑰畾鐨勮凱浠e櫒閮芥槸鏌愪釜綾誨瀷鐨勫璞?vectorr鐨勮凱浠e櫒鍙互琚疄鐜頒負涓涓埌vector鐨勬寚閽堬紝鍔犱竴涓笅鏍?br />琛ㄧ殑榪唬鍣ㄥ彲浠ユ槸涓涓寚鍚戦摼琛ㄧ殑鎸囬拡, 鎵鏈夎凱浠e櫒鐨勫叡鍚屼箣澶勫湪浜庡畠浠殑璇箟錛屼互鍙婂畠浠殑鏈夊叧鎿嶄綔鐨勫悕瀛椼?br />eg.榪唬鍣?+鎿嶄綔鎬繪槸浜х敓寮曠敤涓嬩竴涓厓绱犵殑榪唬鍣紝 *鎬繪槸浜х敓榪欎釜榪唬鍣ㄥ紩鐢ㄧ殑閭d釜鍏冪礌,鍩烘湰涓婄鍚堣繖浜涚殑閮藉彲浠ユ垚涓鴻凱浠e櫒浜?br />
甯哥敤鐨勯亶鍘嗗垹闄よ凱浠e櫒鏂規硶錛屾嬁map涓句緥
  map<intint> mp;
    
forint i = 0; i < 10++i )
    {
        mp[i] 
= i;
    }

    map
<intint>::iterator iter = mp.begin();
    
while( iter != mp.end() )
    {
        
if ( iter->first < 10 )
        {
            mp.erase( 
iter++ );        
        }
         else
        {
            
++iter;
        }
    }
鍦ㄥ垹闄ゆ椂璁板綍涓嬩笅涓涓湁鏁堢殑榪唬鍣ㄥ氨OK浜?br />
濡傛灉鐢ㄥ悓鏍風殑鏂規硶浣跨敤鍦╲ector涓婂氨宕╀簡錛岃繖涓槸涓轟粈涔堝憿

vector<int> vec;
    
forint i = 0 ;i < 20++i )
    {
        vec.push_back( i );
    } 

    vector
<int>::iterator it = vec.begin();
    
while( it != vec.end() )
    {
        
if ( *it < 10 )
        {
           
 vec.erase( it++ );      // 瀵艱嚧宕╂簝        
        }
        else
        {
            
++it;
        }
    }

榪欐槸鍥犱負vector鍜宭ist,map鍒犻櫎榪唬鍣ㄥ悗緇撴灉涓嶄竴鏍? 鍥犱負map, list鍒犻櫎榪唬鍣ㄥ悗錛屽彧鏈夊綋鍓嶅垹闄ょ殑榪唬鍣ㄦ棤鏁堬紝 it++灝卞彲浠ヨ幏寰椾笅涓涓湁鏁堢殑榪唬鍣ㄤ簡,浣嗘槸vector 鍒犻櫎榪唬鍣ㄥ悗錛?br />褰撳墠鍒犻櫎鐨勮凱浠e櫒涔嬪悗鐨勬墍鏈夎凱浠e櫒閮戒細澶辨晥

姝g‘鏂規硶
#include <windows.h>
#include 
<map>
#include 
<string>
#include 
<list>
#include 
<vector>
#include 
<algorithm>
using namespace std;

bool gt_val( int val )
{
    
return val%2 == 0 ? true : false;
}

int main()
{
    vector
<int> vec;
    
forint i = 0 ;i < 20++i )
    {
        vec.push_back( i );
    }
    
    
// 鏍囧噯搴撹皟鐢ㄦ柟娉?/span>
    vector<int>::iterator it = vec.begin();
    
while( (it = find_if( it, vec.end(), gt_val))!= vec.end() )
    {
        it 
= vec.erase( it );
    }

    
// 鏅氳皟鐢ㄦ柟娉?/span>
    it = vec.begin();
    
while( it != vec.end() )
    {
        
if ( *it < 10 )
        {
           
 it = vec.erase( it );        
        }
        else
        {
            
++it;
        }
    }
    
    
    map
<intint> mp;
    
forint i = 0; i < 10++i )
    {
        mp[i] 
= i;
    }

    map
<intint>::iterator iter = mp.begin();
    
while( iter != mp.end() )
    {
        
if ( iter->first < 10 )
        {
          
  iter = mp.erase( iter );        
        }
        else
        {
            
++iter;
        }
    }

}



]]>
C++澶氱嚎紼嬬紪紼?/title><link>http://www.shnenglu.com/wc250en007/archive/2011/08/14/153338.html</link><dc:creator>Let me see see</dc:creator><author>Let me see see</author><pubDate>Sun, 14 Aug 2011 04:37:00 GMT</pubDate><guid>http://www.shnenglu.com/wc250en007/archive/2011/08/14/153338.html</guid><wfw:comment>http://www.shnenglu.com/wc250en007/comments/153338.html</wfw:comment><comments>http://www.shnenglu.com/wc250en007/archive/2011/08/14/153338.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/wc250en007/comments/commentRss/153338.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wc250en007/services/trackbacks/153338.html</trackback:ping><description><![CDATA[<span id="mmokm6k" class="Apple-style-span" style="word-spacing: 0px; font: medium Simsun; text-transform: none; color: rgb(0,0,0); text-indent: 0px; white-space: normal; letter-spacing: normal; border-collapse: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px"><span id="ucmw2qm" class="Apple-style-span" style="font-size: 14px; line-height: 24px; font-family: Arial, 瀹嬩綋; text-align: left"> <p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px 0px 12px; padding-top: 0px; border-right-width: 0px">涓涓?strong>榪涚▼</strong>閫氬父瀹氫箟涓虹▼搴忕殑涓涓疄渚嬨傚湪Win32涓紝 榪涚▼鍗犳嵁4GB鐨勫湴鍧絀洪棿銆備笌瀹冧滑鍦∕S-DOS鍜?6浣峎indows鎿嶄綔緋葷粺涓笉鍚岋紝 Win32榪涚▼鏄病鏈夋椿鍔涚殑銆傝繖灝辨槸璇達紝涓涓猈in32榪涚▼騫朵笉鎵ц浠涔堟寚浠わ紝瀹冨彧鏄崰鎹潃4GB鐨勫湴鍧絀洪棿錛屾絀洪棿涓湁搴旂敤紼嬪簭EXE鏂囦歡鐨?浠g爜鍜屾暟鎹侲XE闇瑕佺殑浠繪剰DLL涔熷皢瀹冧滑鐨勪唬鐮佸拰鏁版嵁瑁呭叆鍒拌繘紼嬬殑鍦板潃絀洪棿銆傞櫎浜嗗湴鍧絀洪棿錛岃繘紼嬭繕鍗犳湁鏌愪簺璧勬簮錛屾瘮濡傛枃浠躲佸姩鎬佸唴瀛樺垎閰嶅拰綰跨▼銆傚綋榪涚▼緇堟鏃訛紝鍦ㄥ畠鐢熷懡鏈熶腑鍒涘緩鐨勫悇縐嶈祫婧愬皢琚竻闄ゃ?/p> <p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px 0px 12px; padding-top: 0px; border-right-width: 0px">銆銆浣嗘槸榪涚▼鏄病鏈夋椿鍔涚殑錛屽畠鍙槸涓涓潤鎬佺殑姒傚康銆備負浜嗚榪涚▼瀹屾垚涓浜涘伐浣滐紝榪涚▼蹇呴』鑷沖皯鍗犳湁涓涓嚎紼嬶紝鎵浠ョ嚎紼嬫槸鎻忚堪榪涚▼鍐呯殑鎵ц錛屾鏄嚎紼嬭礋璐f墽琛屽寘鍚湪榪涚▼鐨勫湴鍧絀洪棿涓殑浠g爜銆傚疄闄呬笂錛屽崟涓繘紼嬪彲浠ュ寘鍚嚑涓嚎紼嬶紝 瀹冧滑鍙互鍚屾椂鎵ц榪涚▼鐨勫湴鍧絀洪棿涓殑浠g爜銆備負浜嗗仛鍒拌繖涓鐐癸紝姣忎釜綰跨▼鏈夎嚜宸辯殑涓緇凜PU瀵勫瓨鍣ㄥ拰鍫嗘爤銆?/p> <p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px 0px 12px; padding-top: 0px; border-right-width: 0px">銆銆綰跨▼鏄繘紼嬪唴閮ㄧ殑涓涓墽琛屽崟鍏冦傜郴緇熷垱寤哄ソ榪涚▼鍚庯紝瀹為檯涓婂氨鍚姩鎵ц浜嗚榪涚▼鐨勪富鎵ц綰跨▼錛屼富鎵ц綰跨▼浠ュ嚱鏁板湴鍧褰㈠紡錛屾瘮濡傝main鎴朩inMain鍑芥暟錛屽皢紼嬪簭鐨勫惎鍔ㄧ偣鎻愪緵緇橶indows緋葷粺銆備富鎵ц綰跨▼緇堟浜嗭紝榪涚▼涔熷氨闅忎箣緇堟銆?/p> <p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px 0px 12px; padding-top: 0px; border-right-width: 0px">銆銆姣忎竴涓繘紼嬭嚦灝戞湁涓涓富鎵ц綰跨▼錛屽畠鏃犻渶鐢辯敤鎴峰幓涓誨姩鍒涘緩錛屾槸鐢辯郴緇熻嚜鍔ㄥ垱寤虹殑銆傜敤鎴鋒牴鎹渶瑕佸湪搴旂敤紼嬪簭涓垱寤哄叾瀹冪嚎紼嬶紝澶氫釜綰跨▼騫跺彂鍦拌繍琛屼簬鍚屼竴涓繘紼嬩腑銆備竴涓繘紼嬩腑鐨勬墍鏈夌嚎紼嬮兘鍦ㄨ榪涚▼鐨勮櫄鎷熷湴鍧絀洪棿涓紝鍏卞悓浣跨敤榪欎簺铏氭嫙鍦板潃絀洪棿銆佸叏灞鍙橀噺鍜岀郴緇熻祫婧愶紝鎵浠ョ嚎紼嬮棿鐨勯氳闈炲父鏂逛究錛屽綰跨▼鎶鏈殑搴旂敤涔熻緝涓哄箍娉涖?/p> <p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px 0px 12px; padding-top: 0px; border-right-width: 0px">銆銆澶氱嚎紼嬪彲浠ュ疄鐜板茍琛屽鐞嗭紝閬垮厤浜嗘煇欏逛換鍔¢暱鏃墮棿鍗犵敤CPU鏃墮棿銆傝璇存槑鐨勪竴鐐規槸錛岀洰鍓嶅ぇ澶氭暟鐨勮綆楁満閮芥槸鍗曞鐞嗗櫒(CPU)鐨勶紝涓轟簡榪愯鎵鏈夎繖浜涚嚎紼嬶紝鎿嶄綔緋葷粺涓烘瘡涓嫭绔嬬嚎紼嬪畨鎺掍竴浜汣PU鏃墮棿錛屾搷浣滅郴緇熶互杞崲鏂瑰紡鍚戠嚎紼嬫彁渚涙椂闂寸墖錛岃繖灝辯粰浜轟竴縐嶅亣璞★紝濂借薄榪欎簺綰跨▼閮藉湪鍚屾椂榪愯銆傜敱姝ゅ彲瑙侊紝濡傛灉涓や釜闈炲父媧昏穬鐨勭嚎紼嬩負浜嗘姠澶哄CPU鐨勬帶鍒舵潈錛屽湪綰跨▼鍒囨崲鏃朵細娑堣楀緢澶氱殑CPU璧勬簮錛屽弽鑰屼細闄嶄綆緋葷粺鐨勬ц兘銆傝繖涓鐐瑰湪澶氱嚎紼嬬紪紼嬫椂搴旇娉ㄦ剰銆?/p> <p style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px 0px 12px; padding-top: 0px; border-right-width: 0px">銆銆鐜頒唬鎿嶄綔緋葷粺澶ч兘鎻愪緵浜嗙浉搴旂殑鏈哄埗錛岀敤鏉ュ鐞嗙嚎紼嬬殑鐢熷瓨鏈熴佸悓姝ワ紝浠ュ強鍏朵粬“鍜岀嚎紼嬫湁鍏?#8221;鐨勫睘鎬э紝濡備紭鍏堢駭銆佺嚎紼嬩笓鏈夊瓨鍌ㄧ┖闂?thread-specific storage)絳夈傚綰跨▼緙栫▼鏄竴闂ㄨ璦鐨勯毦鐐瑰拰閲嶇偣</p></span></span><img src ="http://www.shnenglu.com/wc250en007/aggbug/153338.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wc250en007/" target="_blank">Let me see see</a> 2011-08-14 12:37 <a href="http://www.shnenglu.com/wc250en007/archive/2011/08/14/153338.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鑷繁甯哥敤VS閰嶇疆http://www.shnenglu.com/wc250en007/archive/2011/04/26/145022.htmlLet me see seeLet me see seeTue, 26 Apr 2011 01:43:00 GMThttp://www.shnenglu.com/wc250en007/archive/2011/04/26/145022.htmlhttp://www.shnenglu.com/wc250en007/comments/145022.htmlhttp://www.shnenglu.com/wc250en007/archive/2011/04/26/145022.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/145022.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/145022.html鍏抽敭瀛?闈掕壊
瀛楃涓?綰㈣壊
鏍囪瘑絎?閾惰壊
棰勫鐞嗗叧閿瓧  媧嬬孩鑹?br />
VA鎻掍歡 瀹忛鑹?804000 綾寵壊
 娉ㄩ噴/**
/*
@-----added by Teng at [$MONTH$/$DAY$/$YEAR$]
@DSC:   $end$
@param: 
@return:
*/
 



蹇嵎閿?///
/*
Copyright (c) 2010

Module Name:

 $FILE_BASE$.h
 $FILE_BASE$.cpp

Author: added by Teng at [$MONTH$/$DAY$/$YEAR$]

Abstract:
 
 1.$end$
 
Revis ion History:
 
*/


#ifdef guard in a header
#ifndef __$FILE_BASE$_h__
#define __$FILE_BASE$_h__

$selected$
#endif // __$FILE_BASE$_h__



]]>
for_each鐨勭敤娉?/title><link>http://www.shnenglu.com/wc250en007/archive/2011/04/18/144455.html</link><dc:creator>Let me see see</dc:creator><author>Let me see see</author><pubDate>Mon, 18 Apr 2011 05:11:00 GMT</pubDate><guid>http://www.shnenglu.com/wc250en007/archive/2011/04/18/144455.html</guid><wfw:comment>http://www.shnenglu.com/wc250en007/comments/144455.html</wfw:comment><comments>http://www.shnenglu.com/wc250en007/archive/2011/04/18/144455.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/wc250en007/comments/commentRss/144455.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wc250en007/services/trackbacks/144455.html</trackback:ping><description><![CDATA[     鎽樿: 鍘熸枃鍦板潃錛歨ttp://blog.csdn.net/hionceshine/archive/2008/11/19/3336318.aspx Abstract 涔嬪墠鍦?鍘熷壍) 濡備綍浣跨敤for_each() algorithm? (C/C++) (STL) 鏇劇稉璦庤珫閬巉or_each()錛屼笉閬庣暥鏅傚姛鍔涘皻娣猴紝鍙珖鍒頒簡鐨瘺鑰屽凡錛岄欐鐪嬩簡effective STL鐨刬tem 41銆?3寰岋紝灝峟...  <a href='http://www.shnenglu.com/wc250en007/archive/2011/04/18/144455.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/wc250en007/aggbug/144455.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wc250en007/" target="_blank">Let me see see</a> 2011-04-18 13:11 <a href="http://www.shnenglu.com/wc250en007/archive/2011/04/18/144455.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>sprintf浣跨敤http://www.shnenglu.com/wc250en007/archive/2011/02/17/140204.htmlLet me see seeLet me see seeThu, 17 Feb 2011 02:35:00 GMThttp://www.shnenglu.com/wc250en007/archive/2011/02/17/140204.htmlhttp://www.shnenglu.com/wc250en007/comments/140204.htmlhttp://www.shnenglu.com/wc250en007/archive/2011/02/17/140204.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/140204.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/140204.html
 
    瀵逛簬鐔熸倝C鐨勪漢鏉ヨ,sprintf騫朵笉闄岀敓,鍦ㄥ緢澶氭儏鍐典笅,涓鑸兘浼氫嬌鐢╯printf鏉ヤ唬鏇縤toa.sprintf鍑芥暟鐨勫師鍨嬫槸:
int sprintf(char* str, const char* format, ...);
    闄や簡鍓嶄袱涓弬鏁扮被鍨嬪浐瀹氬,鍚庨潰鍙互鎺ヤ換鎰忓涓弬鏁?鏍煎紡鍖栬緭鍑轟竴涓瓧絎︿覆:
1) 鏁存暟鏍煎紡鍖栬緭鍑?/div>
    濡傛灉瑕佸皢鏁板瓧 3915 淇濆瓨鍒板瓧絎︿覆str涓?*鍋囧畾瀛楃涓插闀?浠ヤ笅閮芥槸涓鴻繖鏍?/.
    sprintf(str,"%d",3915); // "3915"  榪欐槸鏈鍩烘湰鐨勮緭鍑?/div>
    sprintf(str,"%5d",3915); // " 3915" 鍙沖榻?鐩稿綋浜嶤++涓殑鍒惰〃絎?濡傛暟瀛楁病鏈?浣嶆椂宸﹀彟鐢ㄧ┖鏍艱ˉ婊?
    sprintf(str,"%05d",3915); // "03915"鍙沖榻?鐩稿綋浜嶤++涓殑鍒惰〃絎?濡傛暟瀛楁病鏈?浣嶆椂宸﹀彟鐢?0'琛ユ弧
    sprintf(str,"%3d",3915); // "3915", 濡傛灉鏁板瓧闀垮害瓚呭嚭鏃?杈撳嚭瀹屾暣鐨勬暟瀛?/div>
    sprintf(str,"%-5d",3915); // "3915 " 宸﹀榻?濡傛暟瀛楁病鏈?浣嶆椂宸﹀彟鐢ㄧ┖鏍艱ˉ婊?瓚呭嚭鏃惰緭鍑烘墍鏈夋暟瀛?/div>
    瀵逛簬鍗佸叚榪涘埗涔熺被鍚屼簬鍗佽繘鍒?/div>
    sprintf(s, "%5x", 3915);  // "  f4b"鍙沖榻?灝忓啓16 榪涘埗,瀹藉害鍗? 涓綅緗?/div>
    sprintf(s, "%5X", 3915);  // "  F4B"鍙沖榻?澶у啓16 榪涘埗,瀹藉害鍗? 涓綅緗?/div>

2) 嫻偣鏁版牸寮忓寲杈撳嚭
    濡傛灉瑕佸皢嫻偣鏁板瓧 3.915 淇濆瓨鍒板瓧絎︿覆str涓?/div>
    sprintf(str,"%f",3.915); // "3.915" 榪欐槸鏈鍩烘湰鐨勮緭鍑?鏄劇ず瀹屾暣鐨勬暟瀛?/div>
    sprintf(str,"%.2f",3.915); // "3.92" 淇濈暀浜屼綅灝忔暟,娉ㄦ剰鐨勪竴鐐規槸,榪欓噷鏄洓鑸嶄簲鍏?闈笉鏄儚鍙栨暣閭f牱涓㈡帀灝忔暟浣?浣嗚繕瀛樺湪涓涓棶棰?灝辨槸褰撳墠闈㈢殑鏁存暟閮ㄥ垎鏁版嵁澶ф椂,涔熸湁鍙兘鐩存帴涓㈡帀鍚庨潰浣?
    
瀵逛簬鏁板瓧杞瓧絎︿覆榪樻湁涓涓娉ㄦ剰鐨勯棶棰?灝辨槸鍚庨潰鏁板瓧鐨勭被鍨嬩笉涓鍊肩殑鏃跺欏氨鍙兘寰椾笉鍒頒綘鎯寵鐨勭粨鏋?闇瑕佸己鍒惰漿鎹竴涓?濡?
    int ii = 3915;
    sprintf(str,"%f",ii); // 榪欐牱浣犲氨浼氶亣鍒頒紶闂諱腑鐨凴6002,float point not load 鐨勯敊璇?鎴戝湪VS涓啓C++鍛戒護琛岀▼搴?鐩存帴涓闂岃繃,鏂偣涔嬬被鐨勯兘娌$敤.鍙互鏀規垚:
    sprintf(str,"%f",(float)ii); // 榪欐牱灝辨甯鎬互嫻偣杈撳嚭浜?nbsp;  

3) 瀛楃涓茬殑鏍煎紡鍖栬緭鍑?/div>
    濡傛灉瑕佸皢瀛楃涓?guoke"淇濆瓨鍒板瓧絎︿覆str涓?/div>
    sprintf(str,"%s","guoke"); // "guoke"鏈鍩烘湰鐨?鐩存帴copy
    sprintf(str,"%6s","guoke"); // " guoke" 鍙沖榻?瓚呭嚭鏃?杈撳嚭鍏ㄩ儴瀛楃涓?/div>
    sprintf(str,"%.3s","guoke"); // " guo"   鍙鍙栧瓧鍓嶄笁涓瓧絎?濡傛灉瀛楃涓蹭笉瓚?涓彇鍏ㄩ儴
    sprintf(str,"%-6s","guoke"); //  "guoke " 宸﹀榻?瓚呭嚭鏃?杈撳嚭鍏ㄩ儴瀛楃涓?/div>
    sprintf(str,"%6.3s","guoke"); // "   guo" 鍙沖榻?瀹藉6,鍙彇瀛楃涓插墠3涓瓧絎?濡傛灉瀛楃涓蹭笉瓚?涓彇鍏ㄩ儴
    sprintf(str,"%-6.3s","guoke"); // "guo   " 宸﹀榻?瀹藉6,鍙彇瀛楃涓插墠3涓瓧絎?濡傛灉瀛楃涓蹭笉瓚?涓彇鍏ㄩ儴
    sprintf(str,"%3.6s","guoke"); // "guoke" 榪欐牱鎰熻濂藉儚娌′粈涔堝ぇ鐨勪綔鐢?褰撴墍鍙栫殑瀛楃涓查暱搴﹀ぇ浜?鏄繕鏄細杈撳嚭鍏ㄩ儴瀛楃涓茬殑.


]]>娓告垙娑堟伅鏁堢巼涔媠witch...case && if...else http://www.shnenglu.com/wc250en007/archive/2010/12/18/136841.htmlLet me see seeLet me see seeSat, 18 Dec 2010 10:41:00 GMThttp://www.shnenglu.com/wc250en007/archive/2010/12/18/136841.htmlhttp://www.shnenglu.com/wc250en007/comments/136841.htmlhttp://www.shnenglu.com/wc250en007/archive/2010/12/18/136841.html#Feedback6http://www.shnenglu.com/wc250en007/comments/commentRss/136841.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/136841.html

娓告垙涓帴鍙楀埌鐨勬秷鎭偅鍙竴涓濡傜墰姣涘晩錛岃繖灝辨秹鍙婂埌switch case鎺ュ彈榪樻槸if else鎺ュ彈鐨勬晥鐜囬棶棰?br>鏈変漢璇磋繖鏄釜灝忛棶棰橈紝鍝堝搱 綺劇泭姹傜簿鍚?br>
鐪嬪埌浜嗕竴綃囦袱鑰呮晥鐜囨瘮杈冪殑鏂囩珷錛?br>

switch...case涓巌f...else鐨勬牴鏈尯鍒湪浜庯紝switch...case浼氱敓鎴愪竴涓煩杞〃鏉ユ寚紺哄疄闄呯殑case鍒嗘敮鐨勫湴鍧錛岃岃繖涓煩杞〃鐨勭儲寮曞彿涓巗witch鍙橀噺鐨勫兼槸鐩哥瓑鐨勩備粠鑰岋紝switch...case涓嶇敤鍍廼f...else閭f牱閬嶅巻鏉′歡鍒嗘敮鐩村埌鍛戒腑鏉′歡錛岃屽彧闇璁塊棶瀵瑰簲绱㈠紩鍙風殑琛ㄩ」浠庤屽埌杈懼畾浣嶅垎鏀殑鐩殑銆?/p>

鍏蜂綋鍦拌錛宻witch...case浼氱敓鎴愪竴浠藉ぇ灝忥紙琛ㄩ」鏁幫級涓烘渶澶ase甯擱噺錛?鐨勮煩琛紝紼嬪簭棣栧厛鍒ゆ柇switch鍙橀噺鏄惁澶т簬鏈澶ase甯擱噺錛岃嫢澶т簬錛屽垯璺沖埌default鍒嗘敮澶勭悊錛涘惁鍒欏彇寰楃儲寮曞彿涓簊witch鍙橀噺澶у皬鐨勮煩琛ㄩ」鐨勫湴鍧錛堝嵆璺寵〃鐨勮搗濮嬪湴鍧錛嬭〃欏瑰ぇ灝忥紛绱㈠紩鍙鳳級錛岀▼搴忔帴鐫璺沖埌姝ゅ湴鍧鎵ц錛屽埌姝ゅ畬鎴愪簡鍒嗘敮鐨勮煩杞傚涓嬩唬鐮侊紙gcc緙栬瘧錛屼笉寮浼樺寲錛夛細

int main()
{
    int j = 0;
    int i = 1;

    switch (i)
    {
        case 1:
            j = 11;
            break;
        case 2:
            j = 22;
            break;
        case 3:
            j = 33;
            break;
        case 4:
            j = 44;
            break;
        case 10:
            j = 10;
    
        default:
            j = 88;
            break;
    }

    return 0;
}

榪欐槸緙栬瘧鍚庣殑閮ㄥ垎姹囩紪鐮侊細

    .file    "test.c"
    .text
.globl main
    .type    main, @function
main:
    leal    4(%esp), %ecx
    andl    $-16, %esp
    pushl    -4(%ecx)
    pushl    %ebp
    movl    %esp, %ebp
    pushl    %ecx
    subl    $16, %esp
    movl    $0, -8(%ebp)
    movl    $1, -12(%ebp)
    cmpl    $10, -12(%ebp)
    ja    .L2
    movl    -12(%ebp), %eax
    sall    $2, %eax
    movl    .L8(%eax), %eax
    jmp    *%eax
    .section    .rodata
    .align 4
    .align 4
.L8:
    .long    .L2
    .long    .L3
    .long    .L4
    .long    .L5
    .long    .L6
    .long    .L2
    .long    .L2
    .long    .L2
    .long    .L2
    .long    .L2
    .long    .L7
    .text
.L3:
    movl    $11, -8(%ebp)
    jmp    .L9
.L4:
    movl    $22, -8(%ebp)
    jmp    .L9
.L5:
    movl    $33, -8(%ebp)
    jmp    .L9
.L6:
    movl    $44, -8(%ebp)
    jmp    .L9
.L7:
    movl    $10, -8(%ebp)
.L2:
    movl    $88, -8(%ebp)
.L9:
    movl    $0, %eax
    addl    $16, %esp
    popl    %ecx
    popl    %ebp
    leal    -4(%ecx), %esp
    ret

鍙互鎵撲釜姣旀柟錛宻witch...case璁塊棶鏉′歡鍒嗘敮鐨勬柟寮忓儚鏁扮粍涓鏍鳳紝鏄殢鏈鴻闂紱鑰宨f...else鏄『搴忚闂?/p>

浠栦滑鍚勮嚜鐨勭壒鐐癸細

1銆?鎬諱綋涓婅錛宻witch...case 鏁堢巼瑕侀珮浜庡悓鏍鋒潯浠朵笅鐨刬f...else錛岀壒鍒槸褰撴潯浠跺垎鏀緝澶氭椂銆?/p>

2銆乻witch...case鍗犵敤杈冨鐨勪唬鐮佺┖闂達紝鍥犱負瀹冭鐢熸垚璺寵〃錛岀壒鍒槸褰揷ase甯擱噺鍒嗗竷鑼冨洿寰堝ぇ浣嗗疄闄呮湁鏁堝煎張姣旇緝灝戠殑鎯呭喌錛宻witch...case鐨勭┖闂村埄鐢ㄧ巼灝嗗彉寰楀緢浣庛備緥濡備笂闈㈢殑浠g爜錛屽鏋滄妸case 10鏀規垚case 100錛屽垯浼氱敓鎴?01涓〃欏癸紝鑰屽ぇ閮ㄥ垎琛ㄩ」鏄寚鍚戝悓涓鍒嗘敮(default鍒嗘敮)銆俿witch...case鏄湪浠ョ┖闂存崲鏃墮棿銆?/p>

3銆乻witch...case鍙兘澶勭悊case涓哄父閲忕殑鎯呭喌錛屽闈炲父閲忕殑鎯呭喌鏄棤鑳戒負鍔涚殑銆備緥濡?if (a > 1 && a < 100)錛屾槸鏃犳硶浣跨敤switch...case鏉ュ鐞嗙殑銆?/p>

錛婏紛錛婃敞鎰忥細濡傛灉鎶婁緥瀛愪腑鐨刢ase鍒嗘敮鍑忓皯涓涓紝鍒欑敓鎴愮殑姹囩紪鐮佷笌if...else宸埆涓嶅ぇ錛屾鏃朵笉浼氱敓鎴愯煩琛ㄩ」錛屽彲瑙佸浜庡垎鏀緝灝戠殑鎯呭喌錛岀紪璇戝櫒浼氬仛鐗規畩澶勭悊銆?br>
鍘熸枃鍦板潃錛?a >http://blog.csdn.net/kevinyujm/archive/2009/02/18/3907964.aspx



]]>
鑾峰彇CPU鏃墮棿鎴充唬鐮?浣跨敤CPU鏃墮棿鎴寵繘琛岄珮綺懼害璁℃椂http://www.shnenglu.com/wc250en007/archive/2010/12/08/135796.htmlLet me see seeLet me see seeWed, 08 Dec 2010 05:58:00 GMThttp://www.shnenglu.com/wc250en007/archive/2010/12/08/135796.htmlhttp://www.shnenglu.com/wc250en007/comments/135796.htmlhttp://www.shnenglu.com/wc250en007/archive/2010/12/08/135796.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/135796.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/135796.html
鐪嬩竴孌電▼搴忕敤鍒頒簡 RDTSC鎼滀簡浜嗚В浜嗕笅錛屽綋鏃剁敤閫旈渶瑕佺敓鎴愪竴涓嫭涓鏃犱簩鐨処D鏉ユ爣蹇椾笘鐣屼腑鎵鏈夌殑鐗╀綋錛岀敤鍒頒簡鏃墮棿鎴寵繖涓蹇?br>__int64 GetCPUTime()
{
 __asm{RDTSC}
}
鍚岀被鏂囩珷瀛︿範涓?br>

鑾峰彇CPU鏃墮棿鎴充唬鐮?浣跨敤CPU鏃墮棿鎴寵繘琛岄珮綺懼害璁℃椂

鍦≒entium浠ヤ笂鐨凜PU涓紝鎻愪緵浜嗕竴鏉℃満鍣ㄦ寚浠DTSC錛圧ead Time Stamp Counter錛夋潵璇誨彇榪欎釜鏃墮棿鎴崇殑鏁板瓧錛屽茍灝嗗叾淇濆瓨鍦‥DX:EAX瀵勫瓨鍣ㄥ涓傜敱浜嶦DX:EAX瀵勫瓨鍣ㄥ鎭板ソ鏄疻in32騫沖彴涓婥++璇█淇濆瓨鍑芥暟榪斿洖鍊肩殑瀵勫瓨鍣紝鎵浠ユ垜浠彲浠ユ妸榪欐潯鎸囦護鐪嬫垚鏄竴涓櫘閫氱殑鍑芥暟璋冪敤銆倂c2003鍍忚繖鏍鳳細
inline unsigned __int64 GetTimeStampCount()
{
__asm RDTSC
}
瀵逛簬vc6鎴栬呭叾浠栫紪璇戝櫒鍙兘涓嶈錛屽洜涓篟DTSC涓嶈C++鐨勫唴宓屾眹緙栧櫒鐩存帴鏀寔錛屾墍浠ユ垜浠鐢╛emit浼寚浠ょ洿鎺ュ祵鍏ヨ鎸囦護鐨勬満鍣ㄧ爜褰㈠紡0X0F銆?X31錛屽涓嬶細
inline unsigned __int64 GetTimeStampCount()
{
__asm _emit 0x0F
__asm _emit 0x31
}

 

 

瀵瑰叧娉ㄦц兘鐨勭▼搴忓紑鍙戜漢鍛樿岃█錛屼竴涓ソ鐨勮鏃墮儴浠舵棦鏄泭鍙嬶紝涔熸槸鑹笀銆傝鏃跺櫒鏃㈠彲浠ヤ綔涓虹▼搴忕粍浠跺府鍔╃▼搴忓憳綺劇‘鐨勬帶鍒剁▼搴忚繘紼嬶紝鍙堟槸涓浠舵湁鍔涚殑璋冭瘯姝﹀櫒錛屽湪鏈夌粡楠岀殑紼嬪簭鍛樻墜閲屽彲浠ュ敖蹇殑紜畾紼嬪簭鐨勬ц兘鐡墮錛屾垨鑰呭涓嶅悓鐨勭畻娉曚綔鍑烘湁璇存湇鍔涚殑鎬ц兘姣旇緝銆?nbsp;  
    
  銆銆鍦╓indows騫沖彴涓嬶紝甯哥敤鐨勮鏃跺櫒鏈変袱縐嶏紝涓縐嶆槸timeGetTime澶氬獟浣撹鏃跺櫒錛屽畠鍙互鎻愪緵姣綰х殑璁℃椂銆備絾榪欎釜綺懼害瀵瑰緢澶氬簲鐢ㄥ満鍚堣岃█榪樻槸澶矖緋欎簡銆傚彟涓縐嶆槸QueryPerformanceCount璁℃暟鍣紝闅忕郴緇熺殑涓嶅悓鍙互鎻愪緵寰綰х殑璁℃暟銆傚浜庡疄鏃跺浘褰㈠鐞嗐佸濯掍綋鏁版嵁嫻佸鐞嗐佹垨鑰呭疄鏃剁郴緇熸瀯閫犵殑紼嬪簭鍛橈紝鍠勭敤QueryPerformanceCount/QueryPerformanceFrequency鏄竴欏瑰熀鏈姛銆?nbsp;  
    
  銆銆鏈枃瑕佷粙緇嶇殑錛屾槸鍙︿竴縐嶇洿鎺ュ埄鐢≒entium   CPU鍐呴儴鏃墮棿鎴寵繘琛岃鏃剁殑楂樼簿搴﹁鏃舵墜孌點備互涓嬭璁轟富瑕佸緱鐩婁簬銆奧indows鍥懼艦緙栫▼銆嬩竴涔︼紝絎?nbsp;  15欏碉紞17欏碉紝鏈夊叴瓚g殑璇昏呭彲浠ョ洿鎺ュ弬鑰冭涔︺傚叧浜嶳DTSC鎸囦護鐨勮緇嗚璁猴紝鍙互鍙傝僆ntel浜у搧鎵嬪唽銆傛湰鏂囦粎浠呬綔鎶涚爾涔嬬敤銆?nbsp;  
  銆銆鍦?nbsp;  Intel   Pentium浠ヤ笂綰у埆鐨凜PU涓紝鏈変竴涓О涓?#8220;鏃墮棿鎴籌紙Time   Stamp錛?#8221;鐨勯儴浠訛紝瀹冧互64浣嶆棤絎﹀彿鏁村瀷鏁扮殑鏍煎紡錛岃褰曚簡鑷狢PU涓婄數浠ユ潵鎵緇忚繃鐨勬椂閽熷懆鏈熸暟銆傜敱浜庣洰鍓嶇殑CPU涓婚閮介潪甯擱珮錛屽洜姝よ繖涓儴浠跺彲浠ヨ揪鍒扮撼縐掔駭鐨勮鏃剁簿搴︺傝繖涓簿紜ф槸涓婅堪涓ょ鏂規硶鎵鏃犳硶姣旀嫙鐨勩?nbsp;  
    
  銆銆鍦≒entium浠ヤ笂鐨凜PU涓紝鎻愪緵浜嗕竴鏉℃満鍣ㄦ寚浠DTSC錛圧ead   Time   Stamp   Counter錛夋潵璇誨彇榪欎釜鏃墮棿鎴崇殑鏁板瓧錛屽茍灝嗗叾淇濆瓨鍦‥DX:EAX瀵勫瓨鍣ㄥ涓傜敱浜嶦DX:EAX瀵勫瓨鍣ㄥ鎭板ソ鏄疻in32騫沖彴涓婥++璇█淇濆瓨鍑芥暟榪斿洖鍊肩殑瀵勫瓨鍣紝鎵浠ユ垜浠彲浠ユ妸榪欐潯鎸囦護鐪嬫垚鏄竴涓櫘閫氱殑鍑芥暟璋冪敤銆傚儚榪欐牱錛?nbsp;  
    
  inline   unsigned   __int64   GetCycleCount()   
  {   
    __asm   RDTSC   
  }   
    
  浣嗘槸涓嶈錛屽洜涓篟DTSC涓嶈C++鐨勫唴宓屾眹緙栧櫒鐩存帴鏀寔錛屾墍浠ユ垜浠鐢╛emit浼寚浠ょ洿鎺ュ祵鍏ヨ鎸囦護鐨勬満鍣ㄧ爜褰㈠紡0X0F銆?X31錛屽涓嬶細   
    
  inline   unsigned   __int64   GetCycleCount()   
  {   
    __asm   _emit   0x0F   
    __asm   _emit   0x31   
  }   
    
  浠ュ悗鍦ㄩ渶瑕佽鏁板櫒鐨勫満鍚堬紝鍙互鍍忎嬌鐢ㄦ櫘閫氱殑Win32   API涓鏍鳳紝璋冪敤涓ゆGetCycleCount鍑芥暟錛屾瘮杈冧袱涓繑鍥炲肩殑宸紝鍍忚繖鏍鳳細   
    
  unsigned   long   t;   
  t   =   (unsigned   long)GetCycleCount();   
  //Do   Something   time-intensive   ...   
  t   -=   (unsigned   long)GetCycleCount();   
    
  銆銆銆奧indows鍥懼艦緙栫▼銆嬬15欏電紪鍐欎簡涓涓被錛屾妸榪欎釜璁℃暟鍣ㄥ皝瑁呰搗鏉ャ傛湁鍏磋叮鐨勮鑰呭彲浠ュ幓鍙傝冮偅涓被鐨勪唬鐮併備綔鑰呬負浜嗘洿綺劇‘鐨勫畾鏃訛紝鍋氫簡涓鐐瑰皬灝忕殑鏀硅繘錛屾妸鎵цRDTSC鎸囦護鐨勬椂闂達紝閫氳繃榪炵畫涓ゆ璋冪敤GetCycleCount鍑芥暟璁$畻鍑烘潵騫朵繚瀛樹簡璧鋒潵錛屼互鍚庢瘡嬈¤鏃剁粨鏉熷悗錛岄兘浠庡疄闄呭緱鍒扮殑璁℃暟涓噺鎺夎繖涓灝忔鏃墮棿錛屼互寰楀埌鏇村噯紜殑璁℃椂鏁板瓧銆備絾鎴戜釜浜鴻寰楄繖涓鐐圭偣鏀硅繘鎰忎箟涓嶅ぇ銆傚湪鎴戠殑鏈哄櫒涓婂疄嫻嬶紝榪欐潯鎸囦護澶ф鑺辨帀浜嗗嚑鍗佸埌100澶氫釜鍛ㄦ湡錛屽湪   Celeron   800MHz鐨勬満鍣ㄤ笂錛岃繖涓嶈繃鏄崄鍒嗕箣涓寰鐨勬椂闂淬傚澶у鏁板簲鐢ㄦ潵璇達紝榪欑偣鏃墮棿瀹屽叏鍙互蹇界暐涓嶈錛涜屽閭d簺紜疄瑕佺簿紜埌綰崇鏁伴噺綰х殑搴旂敤鏉ヨ錛岃繖涓ˉ鍋夸篃榪囦簬綺楃硻浜嗐?nbsp;  
    
  榪欎釜鏂規硶鐨勪紭鐐規槸錛?nbsp;  
    
  1.楂樼簿搴︺傚彲浠ョ洿鎺ヨ揪鍒扮撼縐掔駭鐨勮鏃剁簿搴︼紙鍦?GHz鐨凜PU涓婃瘡涓椂閽熷懆鏈熷氨鏄竴綰崇錛夛紝榪欐槸鍏朵粬璁℃椂鏂規硶鎵闅句互浼佸強鐨勩?nbsp;  
    
  2.   鎴愭湰浣庛倀imeGetTime   鍑芥暟闇瑕侀摼鎺ュ濯掍綋搴搘inmm.lib錛孮ueryPerformance*   鍑芥暟鏍規嵁MSDN鐨勮鏄庯紝闇瑕佺‖浠剁殑鏀寔錛堣櫧鐒舵垜榪樻病鏈夎榪囦笉鏀寔鐨勬満鍣級鍜孠ERNEL搴撶殑鏀寔錛屾墍浠ヤ簩鑰呴兘鍙兘鍦╓indows騫沖彴涓嬩嬌鐢紙鍏充簬DOS騫沖彴涓嬬殑楂樼簿搴﹁鏃墮棶棰橈紝鍙互鍙傝冦婂浘褰㈢▼搴忓紑鍙戜漢鍛樻寚鍗椼嬶紝閲岄潰鏈夊叧浜庢帶鍒跺畾鏃跺櫒8253鐨勮緇嗚鏄庯級銆備絾RDTSC鎸囦護鏄竴鏉PU鎸囦護錛屽嚒鏄痠386騫沖彴涓婸entium浠ヤ笂鐨勬満鍣ㄥ潎鏀寔錛岀敋鑷蟲病鏈夊鉤鍙扮殑闄愬埗錛堟垜鐩鎬俊i386鐗堟湰UNIX鍜孡inux涓嬭繖涓柟娉曞悓鏍烽傜敤錛屼絾娌℃湁鏉′歡璇曢獙錛夛紝鑰屼笖鍑芥暟璋冪敤鐨勫紑閿鏄渶灝忕殑銆?nbsp;  
    
  3.   鍏鋒湁鍜孋PU涓婚鐩存帴瀵瑰簲鐨勯熺巼鍏崇郴銆備竴涓鏁扮浉褰撲簬1/(CPU涓婚Hz鏁?縐掞紝榪欐牱鍙鐭ラ亾浜咰PU鐨勪富棰戯紝鍙互鐩存帴璁$畻鍑烘椂闂淬傝繖鍜?nbsp;  QueryPerformanceCount涓嶅悓錛屽悗鑰呴渶瑕侀氳繃QueryPerformanceFrequency鑾峰彇褰撳墠璁℃暟鍣ㄦ瘡縐掔殑璁℃暟嬈℃暟鎵嶈兘鎹㈢畻鎴愭椂闂淬?nbsp;  
    
  榪欎釜鏂規硶鐨勭己鐐規槸錛?nbsp;  
    
  1.鐜版湁鐨凜/C++緙栬瘧鍣ㄥ鏁頒笉鐩存帴鏀寔浣跨敤RDTSC鎸囦護錛岄渶瑕佺敤鐩存帴宓屽叆鏈哄櫒鐮佺殑鏂瑰紡緙栫▼錛屾瘮杈冮夯鐑︺?nbsp;  
    
  2.鏁版嵁鎶栧姩姣旇緝鍘夊銆傚叾瀹炲浠諱綍璁¢噺鎵嬫鑰岃█錛岀簿搴﹀拰紼沖畾鎬ф案榪滄槸涓瀵圭煕鐩俱傚鏋滅敤浣庣簿搴︾殑timeGetTime鏉ヨ鏃訛紝鍩烘湰涓婃瘡嬈¤鏃剁殑緇撴灉閮芥槸鐩稿悓鐨勶紱鑰孯DTSC鎸囦護姣忔緇撴灉閮戒笉涓鏍鳳紝緇忓父鏈夊嚑鐧劇敋鑷充笂鍗冪殑宸窛銆傝繖鏄繖縐嶆柟娉曢珮綺懼害鏈韓鍥烘湁鐨勭煕鐩俱?nbsp;  
    
  鍏充簬榪欎釜鏂規硶璁℃椂鐨勬渶澶ч暱搴︼紝鎴戜滑鍙互綆鍗曠殑鐢ㄤ笅鍒楀叕寮忚綆楋細   
    
  鑷狢PU涓婄數浠ユ潵鐨勭鏁?nbsp;  =   RDTSC璇誨嚭鐨勫懆鏈熸暟   /   CPU涓婚閫熺巼錛圚z錛?nbsp;  
    
  64浣嶆棤絎﹀彿鏁存暟鎵鑳借〃杈劇殑鏈澶ф暟瀛楁槸1.8×10^19錛屽湪鎴戠殑Celeron   800涓婂彲浠ヨ鏃跺ぇ綰?00騫達紙涔︿腑璇村彲浠ュ湪200MHz鐨凱entium涓婅鏃?17騫達紝榪欎釜鏁板瓧涓嶇煡閬撴槸鎬庝箞寰楀嚭鏉ョ殑錛屼笌鎴戠殑璁$畻鏈夊嚭鍏ワ級銆傛棤璁哄浣曪紝鎴戜滑澶у彲涓嶅繀鍏沖績婧㈠嚭鐨勯棶棰樸?nbsp;  
    
  涓嬮潰鏄嚑涓皬渚嬪瓙錛岀畝瑕佹瘮杈冧簡涓夌璁℃椂鏂規硶鐨勭敤娉曚笌綺懼害   
    
  //Timer1.cpp   浣跨敤浜哛DTSC鎸囦護鐨凾imer綾?/KTimer綾葷殑瀹氫箟鍙互鍙傝銆奧indows鍥懼艦緙栫▼銆婸15   
  //緙栬瘧琛岋細CL   Timer1.cpp   /link   USER32.lib   
  #include   &ltstdio.h>   
  #include   "KTimer.h"   
  main()   
  {   
    unsigned   t;   
    KTimer   timer;   
    timer.Start();   
    Sleep(1000);   
    t   =   timer.Stop();   
    printf("Lasting   Time:   %d\n",t);   
  }   
    
  //Timer2.cpp   浣跨敤浜唗imeGetTime鍑芥暟   
  //闇鍖呭惈&ltmmsys.h>錛屼絾鐢變簬Windows澶存枃浠墮敊緇煎鏉傜殑鍏崇郴   
  //綆鍗曞寘鍚?amp;ltwindows.h>姣旇緝鍋鋒噿錛氾級   
  //緙栬瘧琛岋細CL   timer2.cpp   /link   winmm.lib     
  #include   &ltwindows.h>   
  #include   &ltstdio.h>   
    
  main()   
  {   
    DWORD   t1,   t2;   
    t1   =   timeGetTime();   
    Sleep(1000);   
    t2   =   timeGetTime();   
    printf("Begin   Time:   %u\n",   t1);   
    printf("End   Time:   %u\n",   t2);   
    printf("Lasting   Time:   %u\n",(t2-t1));   
  }   
    
  //Timer3.cpp   浣跨敤浜哘ueryPerformanceCounter鍑芥暟   
  //緙栬瘧琛岋細CL   timer3.cpp   /link   KERNEl32.lib   
  #include   &ltwindows.h>   
  #include   &ltstdio.h>   
    
  main()   
  {   
    LARGE_INTEGER   t1,   t2,   tc;   
    QueryPerformanceFrequency(&tc);   
    printf("Frequency:   %u\n",   tc.QuadPart);   
    QueryPerformanceCounter(&t1);   
    Sleep(1000);   
    QueryPerformanceCounter(&t2);   
    printf("Begin   Time:   %u\n",   t1.QuadPart);   
    printf("End   Time:   %u\n",   t2.QuadPart);   
    printf("Lasting   Time:   %u\n",(   t2.QuadPart-   t1.QuadPart));   
  }   
    
  ////////////////////////////////////////////////   
  //浠ヤ笂涓変釜紺轟緥紼嬪簭閮芥槸嫻嬭瘯1縐掗挓浼戠湢鎵鑰楄垂鐨勬椂闂?nbsp;  
  file://嫻?璇曠幆澧冿細Celeron   800MHz   /   256M   SDRAM       
  //                     Windows   2000   Professional   SP2   
  //                     Microsoft   Visual   C++   6.0   SP5   
  ////////////////////////////////////////////////   
    
  浠ヤ笅鏄疶imer1鐨勮繍琛岀粨鏋滐紝浣跨敤鐨勬槸楂樼簿搴︾殑RDTSC鎸囦護   
  Lasting   Time:   804586872   
    
  浠ヤ笅鏄疶imer2鐨勮繍琛岀粨鏋滐紝浣跨敤鐨勬槸鏈綺楃硻鐨則imeGetTime   API   
  Begin   Time:   20254254   
  End   Time:   20255255   
  Lasting   Time:   1001   
    
  浠ヤ笅鏄疶imer3鐨勮繍琛岀粨鏋滐紝浣跨敤鐨勬槸QueryPerformanceCount   API   
  Frequency:   3579545   
  Begin   Time:   3804729124   
  End   Time:   3808298836   
  Lasting   Time:   3569712  


嬈㈣繋鏀惰棌鏈枃 涓璧瘋緗?銆愯幏鍙朇PU鏃墮棿鎴充唬鐮?浣跨敤CPU鏃墮棿鎴寵繘琛岄珮綺懼害璁℃椂 http://www.1qidu.com/?action-viewnews-itemid-16841銆?br>涓璧瘋緗戝弬鑰冨湴鍧錛?a style="COLOR: navy; TEXT-DECORATION: none" >http://www.1qidu.com/?action-viewnews-itemid-16841


鍘熸枃鍦板潃錛?a href="http://www.shnenglu.com/gcs8cn/archive/2010/06/09/117469.aspx">http://www.shnenglu.com/gcs8cn/archive/2010/06/09/117469.aspx



]]>
鍏充簬WINSOCK.H涓巜insock2.h涓殑閲嶅畾涔夎В鍐沖姙娉曞垎鏋?http://www.shnenglu.com/wc250en007/archive/2010/10/23/130975.htmlLet me see seeLet me see seeSat, 23 Oct 2010 06:01:00 GMThttp://www.shnenglu.com/wc250en007/archive/2010/10/23/130975.htmlhttp://www.shnenglu.com/wc250en007/comments/130975.htmlhttp://www.shnenglu.com/wc250en007/archive/2010/10/23/130975.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/130975.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/130975.html
闂鎻忚堪錛氬湪 VC 6.0涓嬌鐢╯ocket鐩稿叧鐨勫嚱鏁版椂娌℃湁浠涔堥棶棰橈紝鍙槸鍒頒簡.net涓嬪氨鏈変互涓嬬被浼肩殑閿欒錛?
[C++ Error] winsock2.h(109): E2238 Multiple declaration for 'fd_set'
[C++ Error] winsock.h(54): E2344 Earlier declaration of 'fd_set'
[C++ Error] winsock2.h(112): E2146 Need an identifier to declare
[C++ Warning] winsock2.h(144): W8017 Redefinition of 'FD_SET' is not identical
[C++ Error] winsock2.h(153): E2238 Multiple declaration for 'timeval'
[C++ Error] winsock.h(97): E2344 Earlier declaration of 'timeval'
[C++ Error] winsock2.h(209): E2238 Multiple declaration for 'hostent'
[C++ Error] winsock.h(153): E2344 Earlier declaration of 'hostent'
[C++ Error] winsock2.h(222): E2238 Multiple declaration for 'netent'
[C++ Error] winsock.h(166): E2344 Earlier declaration of 'netent'
[C++ Error] winsock2.h(229): E2238 Multiple declaration for 'servent'
[C++ Error] winsock.h(173): E2344 Earlier declaration of 'servent'
[C++ Error] winsock2.h(241): E2238 Multiple declaration for 'protoent'
[C++ Error] winsock.h(185): E2344 Earlier declaration of 'protoent'
[C++ Error] winsock2.h(327): E2238 Multiple declaration for 'in_addr'
[C++ Error] winsock.h(269): E2344 Earlier declaration of 'in_addr'
[C++ Error] winsock2.h(385): E2238 Multiple declaration for 'sockaddr_in'
[C++ Error] winsock.h(319): E2344 Earlier declaration of 'sockaddr_in'
[C++ Error] winsock2.h(395): E2238 Multiple declaration for 'WSAData'
[C++ Error] winsock.h(329): E2344 Earlier declaration of 'WSAData'
[C++ Error] winsock2.h(411): E2146 Need an identifier to declare
[C++ Warning] winsock2.h(455): W8017 Redefinition of 'SO_DONTLINGER' is not identical
[C++ Warning] winsock2.h(512): W8017 Redefinition of 'AF_IPX' is not identical
[C++ Warning] winsock2.h(540): W8017 Redefinition of 'AF_MAX' is not identical
[C++ Error] winsock2.h(546): E2238 Multiple declaration for 'sockaddr'
[C++ Error] winsock.h(492): E2344 Earlier declaration of 'sockaddr'
[C++ Error] winsock2.h(586): E2238 Multiple declaration for 'sockproto'
[C++ Error] winsock.h(501): E2344 Earlier declaration of 'sockproto'
[C++ Error] winsock2.h(625): E2238 Multiple declaration for 'linger'
[C++ Error] winsock2.h(625): E2228 Too many error or warning messages

Solution錛?/font>

This problem arises because winsock2.h but winsock2.h they chose neither to change winsock2.h, which replaces windows.h from winsock2.h standalone).

The fix is thankfully simple: always "before windows.h has been included by (for example) a higher-level header file that is subsequently including your header file, it's too late - so you must make sure that the higher-level header files respect this convention also.

It is however rarely necessary to modify the header files of libraries or other code modules you are using just because you include their header files, and their header files include winsock2.h before you include the library's header files.


鍦ㄥ寘鍚玧rtplib鏈夋椂鍊欐垜涔熼亣鍒拌繖涓棶棰橈紝瑙e喅鏂規硶涓庝箣鐩稿悓銆備竴鍙ヨ瘽錛屽湪#include<windows.h>涔嬪墠 #include <winsock2.h> 闂灝卞彲浠ヨВ鍐熾?br>

闂鎻忚堪]
   鍦ㄥ寘鍚簡<windows.h>浠ュ強<winsock2.h>鐨勫伐紼嬩腑,緙栬瘧鏈夋椂浼氬嚭鐜板
涓嬮敊璇?

     error C2011: 'fd_set' : 'struct' type redefinition
     error C2011: 'timeval' : 'struct' type redefinition
                     ....
     error C2375: 'accept' : redefinition; different linkage
[鍘熷洜鍒嗘瀽]
   涓昏鍘熷洜鏄洜涓?lt;windows.h>涓寘鍚簡<winsock.h>澶存枃浠?鐢變簬鍏剁増
鏈殑涓嶅悓錛屽鑷村嚭
鐜頒笂榪扮殑閿欒銆?lt;windows.h>涓浉鍏充唬鐮佸涓?
               #ifndef WIN32_LEAN_AND_MEAN
               #include <cderr.h>
               #include <dde.h>
               #include <ddeml.h>
               ........
                #ifndef _MAC
               #include <winperf.h>
               #include <winsock.h>
               #endif
                .......

               #include <commdlg.h>
               #endif
               #endif
[瑙e喅鏂規]
    鐢變互涓婁唬鐮佸彲浠ョ湅鍑哄鏋滃湪娌℃湁瀹氫箟WIN32_LEAN_AND_MEAN瀹?/font>鐨勫ぇ鍓?br>鎻愪笅windows.h鏈夊彲鑳藉寘鍚玾insock.h 澶存枃浠訛紝鍥犳鎴戜滑寰楀嚭涓涓緢綆鍗?br>鐨勮В鍐蟲柟娉曞氨鏄湪鍖呭惈<windows.h>涔嬪墠瀹氫箟WIN32_LEAN_AND_MEAN瀹?濡?br>涓嬫墍紺?
#define WIN32_LEAN_AND_MEAN
#include <windows.h>

 鍘熸枃鍦板潃 http://blog.sina.com.cn/s/blog_4906d564010094p8.html


]]>綆鍗曠殑璋冭瘯杈撳嚭綾伙紝鎰熻涓嶉敊綆鍗曟槗鐢紝澶囦喚涓?/title><link>http://www.shnenglu.com/wc250en007/archive/2010/09/09/126230.html</link><dc:creator>Let me see see</dc:creator><author>Let me see see</author><pubDate>Thu, 09 Sep 2010 04:29:00 GMT</pubDate><guid>http://www.shnenglu.com/wc250en007/archive/2010/09/09/126230.html</guid><wfw:comment>http://www.shnenglu.com/wc250en007/comments/126230.html</wfw:comment><comments>http://www.shnenglu.com/wc250en007/archive/2010/09/09/126230.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/wc250en007/comments/commentRss/126230.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wc250en007/services/trackbacks/126230.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#ifndef __FORMATSTRING_H__<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000"> __FORMATSTRING_H__</span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>#include </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">windows.h</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>#include </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">stdio.h</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>#include </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">shlwapi.h</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>#pragma comment(lib, </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">shlwapi.lib</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> FS_BUFFER_DEFAULT </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1024</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>template</span><span style="COLOR: #000000"><</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> iBufLen</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> CFormatString<br><img id=Codehighlighter1_246_581_Open_Image onclick="this.style.display='none'; Codehighlighter1_246_581_Open_Text.style.display='none'; Codehighlighter1_246_581_Closed_Image.style.display='inline'; Codehighlighter1_246_581_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_246_581_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_246_581_Closed_Text.style.display='none'; Codehighlighter1_246_581_Open_Image.style.display='inline'; Codehighlighter1_246_581_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_246_581_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_246_581_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">:<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    CFormatString( LPCTSTR szStr, <img src="http://www.shnenglu.com/Images/dot.gif"> )<br><img id=Codehighlighter1_300_442_Open_Image onclick="this.style.display='none'; Codehighlighter1_300_442_Open_Text.style.display='none'; Codehighlighter1_300_442_Closed_Image.style.display='inline'; Codehighlighter1_300_442_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_300_442_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_300_442_Closed_Text.style.display='none'; Codehighlighter1_300_442_Open_Image.style.display='inline'; Codehighlighter1_300_442_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span id=Codehighlighter1_300_442_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_300_442_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        va_list vl;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        va_start(vl, szStr);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        vsnprintf(szBuffer, </span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(szBuffer)</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, (</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)szStr, vl);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        va_end(vl);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_472_491_Open_Image onclick="this.style.display='none'; Codehighlighter1_472_491_Open_Text.style.display='none'; Codehighlighter1_472_491_Closed_Image.style.display='inline'; Codehighlighter1_472_491_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_472_491_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_472_491_Closed_Text.style.display='none'; Codehighlighter1_472_491_Open_Image.style.display='inline'; Codehighlighter1_472_491_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span style="COLOR: #0000ff">operator</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">()       </span><span id=Codehighlighter1_472_491_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_472_491_Open_Text><span style="COLOR: #000000">{ </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> szBuffer; }</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_521_540_Open_Image onclick="this.style.display='none'; Codehighlighter1_521_540_Open_Text.style.display='none'; Codehighlighter1_521_540_Closed_Image.style.display='inline'; Codehighlighter1_521_540_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_521_540_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_521_540_Closed_Text.style.display='none'; Codehighlighter1_521_540_Open_Image.style.display='inline'; Codehighlighter1_521_540_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span style="COLOR: #0000ff">operator</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">() </span><span id=Codehighlighter1_521_540_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_521_540_Open_Text><span style="COLOR: #000000">{ </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> szBuffer; }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">protected</span><span style="COLOR: #000000">:<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> szBuffer[iBufLen];<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>template</span><span style="COLOR: #000000"><</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> iBufLen</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> FormatString( </span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> szString, <img src="http://www.shnenglu.com/Images/dot.gif"> )<br><img id=Codehighlighter1_669_975_Open_Image onclick="this.style.display='none'; Codehighlighter1_669_975_Open_Text.style.display='none'; Codehighlighter1_669_975_Closed_Image.style.display='inline'; Codehighlighter1_669_975_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_669_975_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_669_975_Closed_Text.style.display='none'; Codehighlighter1_669_975_Open_Image.style.display='inline'; Codehighlighter1_669_975_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_669_975_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_669_975_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">( NULL </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> szString )<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> NULL;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> nLength </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)strlen( szString );<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> ( nLength </span><span style="COLOR: #000000"><=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000"> )<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> NULL;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> data[iBufLen];<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    va_list    va;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    va_start( va, szString );<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    wvnsprintf(data, </span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(data)</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, szString, va );<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    va_end( va );<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> data;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>typedef CFormatString</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">FS_BUFFER_DEFAULT</span><span style="COLOR: #000000">></span><span style="COLOR: #000000"> CFMSTR;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000"> FMSTR FormatString<FS_BUFFER_DEFAULT></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#endif</span><span style="COLOR: #000000"> </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> __FORMATSTRING_H__</span></div> <br>CFMSTR  out("杈撳嚭鍙傛暟璇彞%d..,%s,",.....); <br><br><br>涔熷彲浠ヨ嚜宸卞皝瑁呬竴浜涚被鎴栧嚱鏁版柟渚胯皟璇曡緭鍑烘煡鎵鵑敊璇?br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">    setLastError(ST_Type type, <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>                     </span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">message ,</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">filename ,<br><img id=Codehighlighter1_113_122_Open_Image onclick="this.style.display='none'; Codehighlighter1_113_122_Open_Text.style.display='none'; Codehighlighter1_113_122_Closed_Image.style.display='inline'; Codehighlighter1_113_122_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_113_122_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_113_122_Closed_Text.style.display='none'; Codehighlighter1_113_122_Open_Image.style.display='inline'; Codehighlighter1_113_122_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>                     </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> line , </span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000"> log_msg </span><span id=Codehighlighter1_113_122_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_113_122_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">= true</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000">, <br><img id=Codehighlighter1_145_154_Open_Image onclick="this.style.display='none'; Codehighlighter1_145_154_Open_Text.style.display='none'; Codehighlighter1_145_154_Closed_Image.style.display='inline'; Codehighlighter1_145_154_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_145_154_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_145_154_Closed_Text.style.display='none'; Codehighlighter1_145_154_Open_Image.style.display='inline'; Codehighlighter1_145_154_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>                     </span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000"> _debug_ </span><span id=Codehighlighter1_145_154_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_145_154_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">= true</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000">, </span><span style="COLOR: #0000ff">bool</span><span style="COLOR: #000000"> _show_box </span><span id=Codehighlighter1_172_182_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_172_182_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">= false</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000">)</span><span id=Codehighlighter1_184_893_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_184_893_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    strncpy(last_error.message, message, THE_MAX_LASTERROR);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    strncpy(last_error.filename, filename, MAX_PATH);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    last_error.line </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> line;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> szBuffer[ THE_MAX_LASTERROR </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000"> ];<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    sprintf(szBuffer, </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%s (%s,%d)</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, last_error.message, last_error.filename, last_error.line);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_471_500_Open_Image onclick="this.style.display='none'; Codehighlighter1_471_500_Open_Text.style.display='none'; Codehighlighter1_471_500_Closed_Image.style.display='inline'; Codehighlighter1_471_500_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_471_500_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_471_500_Closed_Text.style.display='none'; Codehighlighter1_471_500_Open_Image.style.display='inline'; Codehighlighter1_471_500_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">( log_msg )</span><span id=Codehighlighter1_471_500_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_471_500_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        note_message(szBuffer);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    <br><img id=Codehighlighter1_518_553_Open_Image onclick="this.style.display='none'; Codehighlighter1_518_553_Open_Text.style.display='none'; Codehighlighter1_518_553_Closed_Image.style.display='inline'; Codehighlighter1_518_553_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_518_553_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_518_553_Closed_Text.style.display='none'; Codehighlighter1_518_553_Open_Image.style.display='inline'; Codehighlighter1_518_553_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">( _debug_ )</span><span id=Codehighlighter1_518_553_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_518_553_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        OutputDebugStringA(szBuffer);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    <br><img id=Codehighlighter1_573_891_Open_Image onclick="this.style.display='none'; Codehighlighter1_573_891_Open_Text.style.display='none'; Codehighlighter1_573_891_Closed_Image.style.display='inline'; Codehighlighter1_573_891_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_573_891_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_573_891_Closed_Text.style.display='none'; Codehighlighter1_573_891_Open_Image.style.display='inline'; Codehighlighter1_573_891_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">( _show_box )</span><span id=Codehighlighter1_573_891_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_573_891_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_589_888_Open_Image onclick="this.style.display='none'; Codehighlighter1_589_888_Open_Text.style.display='none'; Codehighlighter1_589_888_Closed_Image.style.display='inline'; Codehighlighter1_589_888_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_589_888_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_589_888_Closed_Text.style.display='none'; Codehighlighter1_589_888_Open_Image.style.display='inline'; Codehighlighter1_589_888_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>        </span><span style="COLOR: #0000ff">switch</span><span style="COLOR: #000000">(type)</span><span id=Codehighlighter1_589_888_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_589_888_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            </span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000"> ST_ERROR:<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>                MessageBoxA(GetActiveWindow(), szBuffer, </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ERROR</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, MB_OK</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000">MB_ICONERROR);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            </span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000"> ST_WARNING:<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>                MessageBoxA(GetActiveWindow(), szBuffer, </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">WARNING</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, MB_OK</span><span style="COLOR: #000000">|</span><span style="COLOR: #000000">MB_ICONWARNING);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            </span><span style="COLOR: #0000ff">default</span><span style="COLOR: #000000">:<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>                MessageBoxA(GetActiveWindow(), szBuffer, </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">NOTE</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, MB_OK);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_897_954_Open_Image onclick="this.style.display='none'; Codehighlighter1_897_954_Open_Text.style.display='none'; Codehighlighter1_897_954_Closed_Image.style.display='inline'; Codehighlighter1_897_954_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_897_954_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_897_954_Closed_Text.style.display='none'; Codehighlighter1_897_954_Open_Image.style.display='inline'; Codehighlighter1_897_954_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_897_954_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**/</span><span id=Codehighlighter1_897_954_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    vsprintf( <img src="http://www.shnenglu.com/Images/dot.gif"> );<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>    va pszMsg buffer not great 2Kb . </span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img id=Codehighlighter1_1000_1319_Open_Image onclick="this.style.display='none'; Codehighlighter1_1000_1319_Open_Text.style.display='none'; Codehighlighter1_1000_1319_Closed_Image.style.display='inline'; Codehighlighter1_1000_1319_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1000_1319_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1000_1319_Closed_Text.style.display='none'; Codehighlighter1_1000_1319_Open_Image.style.display='inline'; Codehighlighter1_1000_1319_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">__va( </span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">pszMsg , <img src="http://www.shnenglu.com/Images/dot.gif"> )</span><span id=Codehighlighter1_1000_1319_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_1000_1319_Open_Text><span style="COLOR: #000000">{<br><img id=Codehighlighter1_1032_1034_Open_Image onclick="this.style.display='none'; Codehighlighter1_1032_1034_Open_Text.style.display='none'; Codehighlighter1_1032_1034_Closed_Image.style.display='inline'; Codehighlighter1_1032_1034_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1032_1034_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1032_1034_Closed_Text.style.display='none'; Codehighlighter1_1032_1034_Open_Image.style.display='inline'; Codehighlighter1_1032_1034_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">    msg[</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">][ </span><span style="COLOR: #000000">4096</span><span style="COLOR: #000000"> ] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span id=Codehighlighter1_1032_1034_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_1032_1034_Open_Text><span style="COLOR: #000000">{</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">        ni </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">    pbuf </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> msg[ ni</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000"> ];<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    va_list va;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    va_start( va , pszMsg );<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    size_t size </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> _vscprintf( pszMsg , va );<br><img id=Codehighlighter1_1191_1244_Open_Image onclick="this.style.display='none'; Codehighlighter1_1191_1244_Open_Text.style.display='none'; Codehighlighter1_1191_1244_Closed_Image.style.display='inline'; Codehighlighter1_1191_1244_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1191_1244_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1191_1244_Closed_Text.style.display='none'; Codehighlighter1_1191_1244_Open_Image.style.display='inline'; Codehighlighter1_1191_1244_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">( size </span><span style="COLOR: #000000">></span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">4096</span><span style="COLOR: #000000"> )</span><span id=Codehighlighter1_1191_1244_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_1191_1244_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>        va_end( va );    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> buffer error . </span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> pbuf;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>    }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    vsprintf( pbuf , pszMsg , va );<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    va_end( va );<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> pbuf;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">msg[0];</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span></div> <br>鏂囦歡鏌ョ湅<a href="http://www.shnenglu.com/Files/wc250en007/debug.rar">Debug.rar</a> <img src ="http://www.shnenglu.com/wc250en007/aggbug/126230.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wc250en007/" target="_blank">Let me see see</a> 2010-09-09 12:29 <a href="http://www.shnenglu.com/wc250en007/archive/2010/09/09/126230.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>嫻嬭瘯紼嬪簭鎵ц鏃墮棿鐨勪唬鐮佹http://www.shnenglu.com/wc250en007/archive/2010/08/18/123831.htmlLet me see seeLet me see seeWed, 18 Aug 2010 06:49:00 GMThttp://www.shnenglu.com/wc250en007/archive/2010/08/18/123831.htmlhttp://www.shnenglu.com/wc250en007/comments/123831.htmlhttp://www.shnenglu.com/wc250en007/archive/2010/08/18/123831.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/123831.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/123831.html鍦ㄧ紪紼嬭繃紼嬩腑緇忓父閬囧埌嫻嬭瘯涓孌電▼搴忔墽琛屾椂闂寸殑闂錛屼笅闈㈢粰鍑轟袱縐嶆祴璇曚唬鐮佹鎵ц鏃墮棿鐨勬柟娉曚互渚涘弬鑰冦?/p>

絎竴縐嶆柟娉曪細浣庣簿搴︼紝GetTickCount()鍑芥暟鐨勭簿搴﹀彧鏈?0ms錛屾墍浠ュ鏋滅▼搴忔墽琛屾椂闂村皬浜?0ms錛屼笉鑳戒嬌鐢ㄨ鍑芥暟
DWORD Milliseconds_Parser_Start;
DWORD Milliseconds_Parser_End;
Milliseconds_Parser_Start = ::GetTickCount();

// 寰呮祴璇曚唬鐮佹

Milliseconds_Parser_End = ::GetTickCount();
TCHAR debugStr[256];
_stprintf(szDebug, "item: %d milin sec \n",Milliseconds_Parser_End - Milliseconds_Parser_Start);
OutputDebugString(debugStr);

絎簩縐嶆柟娉曪細楂樼簿搴?br>LARGE_INTEGER t_freqency;
QueryPerformanceFrequency(&t_freqency);
float f_countDiff2Milisecond = float(1000.0/t_freqency.QuadPart);

LARGE_INTEGER start;
LARGE_INTEGER end;
QueryPerformanceCounter(&start);


// 寰呮祴璇曚唬鐮佹

QueryPerformanceCounter(&end);
TCHAR debugStr[256];
_stprintf(debugStr, _T("item: %f milin sec \n"),(end.QuadPart - start.QuadPart) * f_countDiff2Milisecond );
OutputDebugString(debugStr);

 

CSDN鍗氬錛?a >http://blog.csdn.net/rabbit729/archive/2010/05/22/5616976.aspx



]]>
澶氱嚎紼嬩復鐣屽尯EnterCriticalSection鍜孡eaveCriticalSectionhttp://www.shnenglu.com/wc250en007/archive/2010/07/08/MultiThread.htmlLet me see seeLet me see seeThu, 08 Jul 2010 02:39:00 GMThttp://www.shnenglu.com/wc250en007/archive/2010/07/08/MultiThread.htmlhttp://www.shnenglu.com/wc250en007/comments/119689.htmlhttp://www.shnenglu.com/wc250en007/archive/2010/07/08/MultiThread.html#Feedback0http://www.shnenglu.com/wc250en007/comments/commentRss/119689.htmlhttp://www.shnenglu.com/wc250en007/services/trackbacks/119689.html闃呰鍏ㄦ枃

]]>
无码超乳爆乳中文字幕久久| 超级碰久久免费公开视频| 国产一区二区久久久| 久久国产免费直播| 色妞色综合久久夜夜| 女人香蕉久久**毛片精品| 久久天天躁狠狠躁夜夜不卡| 久久伊人精品一区二区三区| 久久精品aⅴ无码中文字字幕不卡| 狠狠干狠狠久久| 久久综合久久性久99毛片| 亚洲日韩中文无码久久| 免费精品99久久国产综合精品| 久久久久亚洲av毛片大| 一本久久知道综合久久| 91精品无码久久久久久五月天| 一级a性色生活片久久无少妇一级婬片免费放 | 久久婷婷色综合一区二区| 国内精品久久久久影院老司| 精品一区二区久久| 国产精品久久久久久久app| 精品无码久久久久久尤物| 久久九九久精品国产免费直播| 亚洲精品国产美女久久久| 99久久精品国产综合一区| 97久久国产综合精品女不卡 | 久久99久久无码毛片一区二区| 久久综合亚洲色一区二区三区| 91精品国产色综久久| 久久人人爽人人爽人人AV | 天天综合久久久网| 久久精品中文字幕一区| yellow中文字幕久久网| 色婷婷综合久久久久中文一区二区 | 狠狠色丁香久久综合婷婷| 国内精品伊人久久久久妇| 国产亚洲成人久久| 久久国产精品久久国产精品| 亚洲AV无码久久精品成人| 狠狠色丁香婷婷久久综合五月| 一本伊大人香蕉久久网手机|