??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲中文字幕无码一久久区,亚洲国产精品无码成人片久久,欧美激情精品久久久久久http://www.shnenglu.com/zhaoyg/category/12648.html记录Ҏ(gu)Q成未?/description>zh-cnSun, 10 Feb 2013 06:43:41 GMTSun, 10 Feb 2013 06:43:41 GMT60关于风格的小?/title><link>http://www.shnenglu.com/zhaoyg/archive/2013/02/10/197792.html</link><dc:creator>zhaoyg</dc:creator><author>zhaoyg</author><pubDate>Sun, 10 Feb 2013 06:33:00 GMT</pubDate><guid>http://www.shnenglu.com/zhaoyg/archive/2013/02/10/197792.html</guid><wfw:comment>http://www.shnenglu.com/zhaoyg/comments/197792.html</wfw:comment><comments>http://www.shnenglu.com/zhaoyg/archive/2013/02/10/197792.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/zhaoyg/comments/commentRss/197792.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zhaoyg/services/trackbacks/197792.html</trackback:ping><description><![CDATA[对于软g开发从一斚w来讲Q只要满x扩展Q易l护以及其他各种“?#8221;pQ管他什?#8220;风格”Q这U风格可以是“思想”?#8220;~码风格”?#8220;技?#8221;或其他什么的Q。因?#8220;风格”都是围绕着“?#8221;字展开的?br /><br />但是从另一斚w来说Q?#8220;风格”也很重要Q它是一U文化?br />如同房子一P虽然盖房子的目的是Z住hQ但在满_本要求的前提下,不同地域的徏{风格却是各异的Q而这U不同也映射着不同的灿烂文化?br />文化重要性大安清楚Q所以从q一Ҏ(gu)看,软g开发这U技术活Q姑且说是技术活而非体力z)?#8220;文化”的融合又昑־十分的艺术性?br /><br />或许重构q的是技术艺术化的活?br /><br /><br />最后,新年寄语<br />家人和自己2013q心想事成,生活满Qn体健P财源滚滚?div> :)</div><img src ="http://www.shnenglu.com/zhaoyg/aggbug/197792.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zhaoyg/" target="_blank">zhaoyg</a> 2013-02-10 14:33 <a href="http://www.shnenglu.com/zhaoyg/archive/2013/02/10/197792.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于Ud讑֤上各Uapp的一个缺?/title><link>http://www.shnenglu.com/zhaoyg/archive/2012/05/27/176379.html</link><dc:creator>zhaoyg</dc:creator><author>zhaoyg</author><pubDate>Sun, 27 May 2012 09:11:00 GMT</pubDate><guid>http://www.shnenglu.com/zhaoyg/archive/2012/05/27/176379.html</guid><wfw:comment>http://www.shnenglu.com/zhaoyg/comments/176379.html</wfw:comment><comments>http://www.shnenglu.com/zhaoyg/archive/2012/05/27/176379.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/zhaoyg/comments/commentRss/176379.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zhaoyg/services/trackbacks/176379.html</trackback:ping><description><![CDATA[<span style="font-size: 12pt;">介于讑֤的特点,那些以登录方式赖以ؓ生的appZ使用L录便P通常都会默认自动记录用户密码Q以便下ơ快速上Uѝ?/span><br /><br /><span style="font-size: 12pt;">q确实是一个很不错的特?/span><span style="font-size: 12pt;">Q但</span><span style="font-size: 12pt;">却有一个问题,那就是智能移动设备弄丢或者被扒是常有的事Q那么当</span><span style="font-size: 12pt;">“他h”使用该设备时Q也很Ҏ(gu)dq些E序Q从而造成一些麻烦?/span><br /><br /><span style="font-size: 12pt;">我想Q开发商是否应该实现另一U功能,让用户通过特定的方式强q其他各U设备上的帐号下U,或者说光新输入密?/span><span style="font-size: 12pt;">?/span><br /><br /><span style="font-size: 12pt;">现在好像只有QQ可以q样做,其他的貌D没见到?/span><img src ="http://www.shnenglu.com/zhaoyg/aggbug/176379.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zhaoyg/" target="_blank">zhaoyg</a> 2012-05-27 17:11 <a href="http://www.shnenglu.com/zhaoyg/archive/2012/05/27/176379.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>U盘的h回生?/title><link>http://www.shnenglu.com/zhaoyg/archive/2011/02/27/140739.html</link><dc:creator>zhaoyg</dc:creator><author>zhaoyg</author><pubDate>Sun, 27 Feb 2011 07:35:00 GMT</pubDate><guid>http://www.shnenglu.com/zhaoyg/archive/2011/02/27/140739.html</guid><wfw:comment>http://www.shnenglu.com/zhaoyg/comments/140739.html</wfw:comment><comments>http://www.shnenglu.com/zhaoyg/archive/2011/02/27/140739.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/zhaoyg/comments/commentRss/140739.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zhaoyg/services/trackbacks/140739.html</trackback:ping><description><![CDATA[<p>前天往U盘里传了一些东西,l果在没有传完的情况下拔了U盘,{再用的时候发现插上u盘后虽然可以识别Q但无法d里面的内容,q且也无法格式化?br><br>试了下网上的一些U盘修复工P但均告失败。心惌下报废了Q又得买了?br><br>不过今天q侥幸心理又在|上搜了搜,发现有一U称?#8220;量工具”的我q没试,后来l果证明量工具果然奏效Q我的盘又活?img border=0 src="http://www.shnenglu.com/Emoticons/QQ/06.gif" width=20 height=20>?br><br><br>以下?教程 & 工具<br><br>教程链接Q?a >http://bbs.deepin.org/viewthread.php?tid=1772579</a></p> 金士G3 4G 工具Q?a href="http://www.shnenglu.com/Files/zhaoyg/KinstonG3.rar">/Files/zhaoyg/KinstonG3.rar</a> <img src ="http://www.shnenglu.com/zhaoyg/aggbug/140739.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zhaoyg/" target="_blank">zhaoyg</a> 2011-02-27 15:35 <a href="http://www.shnenglu.com/zhaoyg/archive/2011/02/27/140739.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>对于Gdiplus::Bitmap对象的重|和新徏谁快谁慢http://www.shnenglu.com/zhaoyg/archive/2010/12/23/137265.htmlzhaoygzhaoygThu, 23 Dec 2010 01:45:00 GMThttp://www.shnenglu.com/zhaoyg/archive/2010/12/23/137265.htmlhttp://www.shnenglu.com/zhaoyg/comments/137265.htmlhttp://www.shnenglu.com/zhaoyg/archive/2010/12/23/137265.html#Feedback1http://www.shnenglu.com/zhaoyg/comments/commentRss/137265.htmlhttp://www.shnenglu.com/zhaoyg/services/trackbacks/137265.htmlq来遇见了这样一个问题:
昄界面旉要将一个Gdiplus::Bitmap对象的内容脓(chung)在界面上Q而其中的内容又是不停的变化的Q于是问题来了,我是对Bitmap对象通过调用Graphics::Clear重置呢,q是把这个Bitmap对象搞成局部变量每ơ进来时都新Z个呢Q?br>
傻X的我起初一直以为通过Clear函数重置Bitmap要比调用Bitmap的构造函数新建快Q所以我力重复利用已有的Bitmap对象而避免重建,但昨天测试了一下发现新比重|快得多

q是我的试Ҏ(gu)Q?Ҏ(gu)重复创徏一?00×100的Bitmap和重|同样尺寸的Bitmap对象所用的旉

环境
  pȝQXP SP3
  CPUQAMD Athlon II X2 245      2.96G
  内存Q?G
  环境QVC 2008 sp1 

    {
        CString tmp;
        SYSTEMTIME   begintime,endtime,passtime;
        ZeroMemory(
&begintime , sizeof(SYSTEMTIME));
        ZeroMemory(
&endtime , sizeof(SYSTEMTIME));
        GetLocalTime(
&begintime); 
        
for (int i = 0 ; i < 100000 ; i++)
        {
            Gdiplus::Bitmap Auto(
100,100);
        }
        GetLocalTime(
&endtime); 


        tmp.Format(_T(
"%dms") , (endtime.wSecond - begintime.wSecond)*1000 + endtime.wMilliseconds - begintime.wMilliseconds);

        MessageBox(tmp);
    }

    {
        CString tmp;
        SYSTEMTIME   begintime,endtime,passtime;
        ZeroMemory(
&begintime , sizeof(SYSTEMTIME));
        ZeroMemory(
&endtime , sizeof(SYSTEMTIME));
        CDC 
*pDC = GetDC();

        Gdiplus::Graphics grap (pDC
->m_hDC);
        Gdiplus::Bitmap   AutoBmp(
100,100);
        Gdiplus::Graphics 
*pGrap = grap.FromImage(&AutoBmp);
        Gdiplus::Color newcolor(
0,0,0,0);
        GetLocalTime(
&begintime); 
        
for (int i = 0 ; i < 100000  ; i++)
        {
            pGrap
->Clear(newcolor);
        }
        GetLocalTime(
&endtime); 
        tmp.Format(_T(
"%dms") , (endtime.wSecond - begintime.wSecond)*1000 + endtime.wMilliseconds - begintime.wMilliseconds);
        MessageBox(tmp);
    }


l果Q?br>当@?Wơ时所用时_单位MSQ?br>             构造函数新建对?nbsp;    Graphics::Clear重置
                      62                                     344
                      62                                     344
                      47                                     344
                      62                                     343
                      47                                     344
                      62                                     360
                      63                                     344
                      47                                     344
                      62                                     344
                      62                                     343
----------------------------------------------------
q_             57.6                                 345.4

当@?0Wơ时所用时?br>             构造函数新建对?nbsp;    Graphics::Clear重置
                      563                                   3467
                      562                                   3407
                      578                                   3531
                      563                                   3563
                      625                                   3390
                      578                                   3515
                      562                                   3484
                      594                                   3515
                      547                                   3453
                      563                                   3422
----------------------------------------------------
q_             573.5                                 3474.9




zhaoyg 2010-12-23 09:45 发表评论
]]>
[转]WiFi定位技?/title><link>http://www.shnenglu.com/zhaoyg/archive/2010/12/09/136008.html</link><dc:creator>zhaoyg</dc:creator><author>zhaoyg</author><pubDate>Thu, 09 Dec 2010 15:54:00 GMT</pubDate><guid>http://www.shnenglu.com/zhaoyg/archive/2010/12/09/136008.html</guid><wfw:comment>http://www.shnenglu.com/zhaoyg/comments/136008.html</wfw:comment><comments>http://www.shnenglu.com/zhaoyg/archive/2010/12/09/136008.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/zhaoyg/comments/commentRss/136008.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zhaoyg/services/trackbacks/136008.html</trackback:ping><description><![CDATA[<p>wifi定位是iphone升?.1.3之后新加的应用服务,拿到机器后开始试用一下wifi定位。在国达拉斯,定位按钮被按下后Q旋转了大约2U钟Q所在的街道q刻闪现在屏幕中央了。难怪乔布斯也说Q?#8220;It's really cool”Q这个功能确实神奇呀?/p> <p>以前用过GSM定位Q那个误差能大到数公里,而wifi定位出的中心点距L所在也是50c뀂随后我到网上查了一下关于这个技术的文章Q了解到了下面的情况?/p> <p>做这Ҏ(gu)术是׃家成立于2003q叫Skyhook Wireless(<a >http://www.skyhookwireless.com/</a>)的公司。在SkyHook主页上可以下载一个叫Loki的YӞ是PC上用的,也支持wifi定位Q不q好像只能在xp用。还没升?.1.3的iphone用户可以先试试Loki?/p> <p>q个技术的原理是利用下面三条事实:</p> <p>•wifi热点Q也是APQ或者无U\由器Q越来越多,在城市中更趋向于I间M一炚w能接收到臛_一个AP的信受(在美国,每个Ҏ(gu)??个AP信号的情늛当多见。中国也会越来越多的Q?<br>•热点只要通电(sh)Q不它怎么加密的,都一定会向周围发信受信号中包含此热点的唯一全球ID。即使距L热点比较q,无法建立q接Q但q是可以侦听到它的存在?<br>•热点一般都是很变位置的,比较固定?<br>q样Q定位端只要侦听一下附q都有哪些热点,一下每个热点的信号强弱Q然后把q些信息发送给|络上的Skyhook的服务器。服务器Ҏ(gu)q些信息Q查询每个热点在数据库里记录的坐标,然后q行q算Q就能知道客L的具体位|了Q最后坐标告诉客L。容易理解的是,收到的AP信号多Q定位就会越准?/p> <p>不过Q一ơ成功的定位需要两个先xӞ</p> <p>•客户端能上网 <br>•侦听到的热点的坐标在Skyhook的数据库里有 <br>W一条不消说了,不管是wifiq是edgeQ只要能q上Skyhook的服务器p?/p> <p>W二条是Skyhook的金矿所在。对于Skyhook如何知道每个AP的坐标信息有两种说法Q?</p> <p>     1.  有一U说法是靠网友自己搜集,然后发给SkyhookQSkyhook会付钱?nbsp;  <br>     2.  不过官方|站上的说法是开着车满大街转?zhn)Q边走边采集AP信号Qƈ用GPS定位Q从而就有了坐标信息。而且他们会定期重新开车采集数据,以适应热点的变化?</p> <p>相对之下Q第2条更靠谱Q而且成本q不高。比方说采集北京Q设备上一个带GPS和wifi的PDA以Q然后装到出UR上,每月l司?00?00的,让他正常拉客h。只要有3?个司机合作,数据采集下来了Qƈ不断地更新。司Z一定会很乐呵,q纯_Ҏ(gu)无成本的额外收入呀Q还能n受一下GPS?/p> <p>q里有一个此服务已经覆盖的区域的?sh)子图?a >http://www.skyhookwireless.com/howitworks/coverage.php</a>。可以看到我国的北京、香港和台北是有q个服务的。所以现阶段在大陆地区只有北京能用,不知道在中国有没有其他网l应用可以实现wifi定位?/p> <p>wifi定位_ֺ比GPS要低Q受服务范围限制Q而且没有方向、速度{数据,不能DQ更不能ȝ使用。不q它有比GPS更优的地方Q就是在人口、楼越密集的地方,使用的效果会更好。GPS启动旉长,在室内是无效的,天气不好的时候表CƠ佳Q楼太密集的地方也不太好用。而这些因素都被wifi定位克服了?/p> <p>我想q还不是真正的定位,q就是个玩具Q真正的定位是用wifi信号定位Q我正在研究q个</p> <p> </p> <p>本文来自CSDN博客Q{载请标明出处Q?a >http://blog.csdn.net/NewMap/archive/2009/03/17/3999337.aspx</a></p> <img src ="http://www.shnenglu.com/zhaoyg/aggbug/136008.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zhaoyg/" target="_blank">zhaoyg</a> 2010-12-09 23:54 <a href="http://www.shnenglu.com/zhaoyg/archive/2010/12/09/136008.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>XML与数据库http://www.shnenglu.com/zhaoyg/archive/2010/07/24/121198.htmlzhaoygzhaoygSat, 24 Jul 2010 14:09:00 GMThttp://www.shnenglu.com/zhaoyg/archive/2010/07/24/121198.htmlhttp://www.shnenglu.com/zhaoyg/comments/121198.htmlhttp://www.shnenglu.com/zhaoyg/archive/2010/07/24/121198.html#Feedback0http://www.shnenglu.com/zhaoyg/comments/commentRss/121198.htmlhttp://www.shnenglu.com/zhaoyg/services/trackbacks/121198.html阅读全文

zhaoyg 2010-07-24 22:09 发表评论
]]>
毕业了!http://www.shnenglu.com/zhaoyg/archive/2010/07/23/121071.htmlzhaoygzhaoygThu, 22 Jul 2010 16:03:00 GMThttp://www.shnenglu.com/zhaoyg/archive/2010/07/23/121071.htmlhttp://www.shnenglu.com/zhaoyg/comments/121071.htmlhttp://www.shnenglu.com/zhaoyg/archive/2010/07/23/121071.html#Feedback0http://www.shnenglu.com/zhaoyg/comments/commentRss/121071.htmlhttp://www.shnenglu.com/zhaoyg/services/trackbacks/121071.html4q的日子pL匆匆了,4q前我从学校的东门步入大学,步入一个时代,而今Q又l由同一扇门而告别这个曾lo我十分向往的时代?br>当结束后Q才恍然发现Q大学真好,真的令h难以割舍......
然而我不得不说......再见?.....

zhaoyg 2010-07-23 00:03 发表评论
]]>
tinyxmlҎ(gu)字处理的一则笔?/title><link>http://www.shnenglu.com/zhaoyg/archive/2010/04/08/111963.html</link><dc:creator>zhaoyg</dc:creator><author>zhaoyg</author><pubDate>Thu, 08 Apr 2010 07:07:00 GMT</pubDate><guid>http://www.shnenglu.com/zhaoyg/archive/2010/04/08/111963.html</guid><wfw:comment>http://www.shnenglu.com/zhaoyg/comments/111963.html</wfw:comment><comments>http://www.shnenglu.com/zhaoyg/archive/2010/04/08/111963.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/zhaoyg/comments/commentRss/111963.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zhaoyg/services/trackbacks/111963.html</trackback:ping><description><![CDATA[(写次W记的目的除了对知识点进行笔记外Q还有就是希望能够帮助和我一h遇到cM问题的朋友?<br /><br />刚接触tinyxmlӞ对于~码问题没怎么注意Q但是q个没有被我注意的问题,在暗地里向我䏀黑枪”,耗了我不时间?br /><br />现在来说说我遇到的问题Q以及我的解x法?br /><br />如有不对的地方,<font color="#ff0000">恌指正</font>Q小弟在q先谢谢了?br /><br />对于如下代码Q?br /><div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> Write()<br />{<br />    TiXmlDocument doc ;<br />    doc.LinkEndChild(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> TiXmlDeclaration(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> , </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">utf-8</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">));<br />    TiXmlElement </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">pele </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> TiXmlElement(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ROOT</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />    TiXmlElement </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">psubele </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> TiXmlElement(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">First-element</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><br />    psubele</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">LinkEndChild(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> TiXmlText(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">试</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br />    pele</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">LinkEndChild(psubele);<br />    doc.LinkEndChild(pele);<br /><br />    doc.SaveFile(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">test.xml</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />}</span></div><br />生成的test.xml文g如果直接用IE查看Q则会提C遇见无效字符。之所以这h因ؓQ当文gq行保存Ӟ文g的实际编码是ansiQ而在ieq行解读时会Ҏ(gu)声明中指定的~码utf-8来进行解释,对于英文字母来说utf-8和ansi是兼容的Q但因ؓ其中有汉字,所以用utf-8来解释编码ؓansi的汉字就会出Cؕ码的问题Q从而得ie提示说遇见无效字W?br /><br />而解决的Ҏ(gu)是,写入的中文字符串{为utf-8~码<br /><div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> Write()<br />{<br />    TiXmlDocument doc ;<br />    doc.LinkEndChild(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> TiXmlDeclaration(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> , </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">utf-8</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">));<br />    TiXmlElement </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">pele </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> TiXmlElement(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ROOT</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />    TiXmlElement </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">psubele </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> TiXmlElement(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">First-element</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br /><br />    </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">src </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 />    </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">        dst[</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> {</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">};<br />    size_t        src_len </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> strlen(src);<br />    size_t        dst_len </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(dst);<br />    </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: #0000ff">in</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> src;<br />    </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">        </span><span style="COLOR: #000000">*</span><span style="COLOR: #0000ff">out</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> dst;<br />    iconv_t        cd;<br /><br />    </span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"> GB2312字符集{换ؓUTF-8字符集?/span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br />    cd </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> iconv_open(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">UTF-8</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">GB2312</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> ); <br />    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> ((iconv_t)</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> cd)<br />    {<br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> ;<br />    }<br /><br />    iconv(cd, </span><span style="COLOR: #000000">&</span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">src_len, </span><span style="COLOR: #000000">&</span><span style="COLOR: #0000ff">out</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">dst_len);<br />    iconv_close(cd);<br /><br /><br />    psubele</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">LinkEndChild(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> TiXmlText(dst));<br />    pele</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">LinkEndChild(psubele);<br />    doc.LinkEndChild(pele);<br /><br />    doc.SaveFile(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">test.xml</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />}</span></div>q行转换之后Q就可以在IE中显Cxml文g内容了?br /><br />P.S.Q如果无所谓是否将xml文g昄在浏览器中,下面的两个问题就不再那么重要了?br /><br />但是Q对写入的汉字进行编码{换后又会带来两个问题Q?br />W一个,对于用utf-8~码的xml文gQ如果需要在控制C昄xml中的汉字Q则又得utf-8转ؓgb2312~码Q否则控制台中将是一堆ؕ码;<br />W二个,对于h如下内容的xml文g且文件实际编码也为UTF8Q?br /><div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #0000ff"><?</span><span style="COLOR: #ff00ff">xml version="1.0" encoding="utf-8" </span><span style="COLOR: #0000ff">?></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">ROOT</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">名字</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">试</span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">名字</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">ROOT</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br /></span></div><br />如果用如下所C的Ҏ(gu)来读取节点“名字”,只会输出error字样Q而不是“名字”?br /><div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><span style="COLOR: #000000">void find()<br />{<br />    TiXmlDocument doc;<br />    doc.LoadFile("test.xml");<br />    TiXmlElement *pEle = doc.RootElement();<br />    TiXmlElement *pchild = pEle->FirstChildElement("名字");<br /><br />    if (!pchild)<br />    {<br />        cout </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">< "error</span><span style="COLOR: #ff0000">"<<endl;<br />        return ;<br />    }<br />    cout<<pchild-</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000">Value()</span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000"><endl</span><span style="COLOR: #ff0000">;<br />}</span></div>因ؓ函数find中的"名字"q不是UTF8~码Q?名字"的实际编码可能是ANSI~码Q我也不敢确定)Q所以xml文g中以UTF8q行~码的“名字”和find函数中以非UTF8~码的“名字”这两个自然是不同的Q对?sh)脑而言Q,q而输出error?br />解决办法是find中的汉字“名字”{为UTF8~码卛_Q但是要惛_控制C正确的输出pchild->Value()中所包含的UTF8~码的汉字,则又需要进行{?img border="0" src="http://www.shnenglu.com/Emoticons/cry_smile.gif" width="19" height="19" />?br /><br /><br />q有一U方法,或者说是彻底的Ҏ(gu)Q就是直接将xml声明中的~码改ؓgb2312Q这样一来就L很多Q基本上上面所说的问题都不会存在了?br /><br />以上是我个人的所遇到的问题,以及解决Ҏ(gu)。在其中如有不正的说法Q?font color="#ff0000">恌指正</font><font color="#000000">?br /></font><br />另:<br />1. Write中用到的转换函数iconv是第三方库,qms或标准库自带Q有需要的朋友可以Google之?br />2. 要是全世界h民都用同一U语aQ那该多好呀Q会省了很多事,至于又会带来什么问题暂不考虑?br /><img src ="http://www.shnenglu.com/zhaoyg/aggbug/111963.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zhaoyg/" target="_blank">zhaoyg</a> 2010-04-08 15:07 <a href="http://www.shnenglu.com/zhaoyg/archive/2010/04/08/111963.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转] 字符~码详解及由?UNICODE,UTF-8,GBK)http://www.shnenglu.com/zhaoyg/archive/2010/03/31/111154.htmlzhaoygzhaoygWed, 31 Mar 2010 05:52:00 GMThttp://www.shnenglu.com/zhaoyg/archive/2010/03/31/111154.htmlhttp://www.shnenglu.com/zhaoyg/comments/111154.htmlhttp://www.shnenglu.com/zhaoyg/archive/2010/03/31/111154.html#Feedback0http://www.shnenglu.com/zhaoyg/comments/commentRss/111154.htmlhttp://www.shnenglu.com/zhaoyg/services/trackbacks/111154.html        很久很久以前Q有一hQ他们决定用8个可以开合的晶体来l合成不同的状态,以表CZ界上的万物。他们看?个开关状态是好的Q于是他们把q称?字节"?/p>

  再后来,他们又做了一些可以处理这些字节的机器Q机器开动了Q可以用字节来组合出很多状态,状态开始变来变厅R他们看到这h好的Q于是它们就q机器称?计算??/p>

  开始计机只在国用。八位的字节一共可以组合出256(2?ơ方)U不同的状态?

  他们把其中的~号?开始的32U状态分别规定了Ҏ(gu)的用途,一但终端、打印机遇上U定好的q些字节被传q来Ӟp做一些约定的动作。遇?0x10, l端换行,遇上0x07, l端向Z嘟嘟叫,例如遇上0x1b, 打印机就打印反白的字Q或者终端就用彩色显C字母。他们看到这样很好,于是把q些0x20以下的字节状态称?控制?Q?/p>

  他们又把所有的I格、标点符受数字、大写字母分别用连l的字节状态表C,一直编CW?27Pq样计算机就可以用不同字节来存储p的文字了。大家看到这P都感觉很好,于是大家都把q个Ҏ(gu)叫做 ANSI ?Ascii"~码QAmerican Standard Code for Information InterchangeQ美国信息互换标准代码)。当时世界上所有的计算机都用同LASCIIҎ(gu)来保存英文文字?

  后来Q就像徏造巴比u塔一P世界各地的都开始用计机Q但是很多国家用的不是英文,他们的字母里有许多是ASCII里没有的Qؓ了可以在计算Z存他们的文字Q他们决定采?27号之后的IZ来表C些新的字母、符Pq加入了很多画表格时需要用下到的横Uѝ竖Uѝ交叉等形状Q一直把序号~到了最后一个状?55。从128?55q一늚字符集被U?扩展字符?。从此之后,贪婪的hcd没有新的状态可以用了,帝国主义可能没有想到还有第三世界国家的Z也希望可以用到计机吧!

  {中国h们得到计机Ӟ已经没有可以利用的字节状态来表示汉字Q况且有6000多个常用汉字需要保存呢。但是这难不倒智慧的中国人民Q我们不客气地把那些127号之后的奇异W号们直接取消掉,

  规定Q一个小?27的字W的意义与原来相同,但两个大?27的字W连在一hQ就表示一个汉字,前面的一个字节(他称之ؓ高字节)?xA1用到 0xF7Q后面一个字节(低字节)?xA1?xFEQ这h们就可以l合出大U?000多个体汉字了。在q些~码里,我们q把数学W号、罗马希腊的字母、日文的假名们都~进MQ连?ASCII 里本来就有的数字、标炏V字母都l统重新~了两个字节长的~码Q这是常说?全角"字符Q而原来在127号以下的那些叫"半角"字符了?/p>

  中国人民看到q样很不错,于是把q种汉字Ҏ(gu)叫做 "GB2312"。GB2312 是对 ASCII 的中文扩展.

  但是中国的汉字太多了Q我们很快就发现有许多人的人名没有办法在这里打出来Q特别是某些很会ȝ别h的国安gh。于是我们不得不l箋?GB2312 没有用到的码位找出来老实不客气地用上?

  后来q是不够用,于是q脆不再要求低字节一定是127号之后的内码Q只要第一个字节是大于127固定表C是一个汉字的开始,不管后面跟的是不是扩展字W集里的内容。结果扩展之后的~码Ҏ(gu)被称?GBK 标准QGBK 包括?GB2312 的所有内容,同时又增加了q?0000个新的汉字(包括J体字)和符受?

  后来数民族也要用电(sh)脑了Q于是我们再扩展Q又加了几千个新的少数民族的字,GBK 扩成了GB18030。从此之后,中华民族的文化就可以在计机时代中传承了?

  中国的程序员们看到这一pd汉字~码的标准是好的Q于是通称他们叫做 "DBCS"QDouble Byte Charecter Set 双字节字W集Q。在DBCSpd标准里,最大的特点是两字节长的汉字字符和一字节长的英文字符q存于同一套编码方案里Q因此他们写的程序ؓ了支持中文处理,必须要注意字串里的每一个字节的|如果q个值是大于127的,那么pZ个双字节字符集里的字W出C。那时候凡是受q加持,会编E的计算机僧侣们都要每天念下面这个咒语数NQ?

  "一个汉字算两个英文字符Q一个汉字算两个英文字符…?

  因ؓ当时各个国家都像中国q样搞出一套自q~码标准Q结果互怹间谁也不懂谁的编码,谁也不支持别人的~码Q连大陆和台湾这样只盔R?50里Q用着同一U语a的兄弟地区,也分别采用了不同?DBCS ~码Ҏ(gu)——当时的中国人想让电(sh)脑显C汉字,必装上一?汉字pȝ"Q专门用来处理汉字的昄、输入的问题Q但是那个台湄愚昧徏人士写的命E序必d装另一套支?BIG5  ~码的什?倚天汉字pȝ"才可以用Q装错了字符pȝQ显C就会ؕ了套Q这怎么办?而且世界民族之林中还有那些一时用不上?sh)脑的穷苦h民,他们的文字又怎么办?

  真是计算机的巴比伦塔命题啊!

  正在q时Q大天加百列及时出C——一个叫 ISOQ国际标谁化l织Q的国际l织军_着手解册个问题。他们采用的Ҏ(gu)很简单:废了所有的地区性编码方案,重新搞一个包括了地球上所有文化、所有字母和W号的编码!他们打算叫它"Universal Multiple-Octet Coded Character Set"Q简U?UCS, 俗称 "UNICODE"?

  UNICODE 开始制订时Q计机的存储器定w极大地发展了Q空间再也不成ؓ问题了。于?ISO q接规定必ȝ两个字节Q也是16位来l一表示所有的字符Q对于ascii里的那些“半角”字W,UNICODE 包持其原~码不变Q只是将光度由原来?位扩展ؓ16位,而其他文化和语言的字W则全部重新l一~码。由?半角"英文W号只需要用C8位,所以其?8位永q是0Q因此这U大气的Ҏ(gu)在保存英文文本时会多费一倍的I间?/p>

  q时候,从旧C会里走q来的程序员开始发C个奇怪的现象Q他们的strlen函数靠不住了Q一个汉字不再是相当于两个字W了Q而是一个!是的Q从 UNICODE 开始,无论是半角的英文字母Q还是全角的汉字Q它们都是统一?一个字W?Q同Ӟ也都是统一?两个字节"Q请注意"字符"?字节"两个术语的不同,“字节”是一?位的物理存贮单元Q而“字W”则是一个文化相关的W号。在UNICODE 中,一个字W就是两个字节。一个汉字算两个英文字符的时代已l快q去了?

  从前多种字符集存在时Q那些做多语a软g的公叔R上过很大ȝQ他们ؓ了在不同的国安售同一套YӞ׃得不在区域化软g时也加持那个双字节字W集咒语Q不仅要处处心不要搞错Q还要把软g中的文字在不同的字符集中转来转去。UNICODE 对于他们来说是一个很好的一揽子解决Ҏ(gu)Q于是从 Windows NT 开始,MS 机把它们的操作pȝ改了一遍,把所有的核心代码都改成了?UNICODE 方式工作的版本,从这时开始,WINDOWS pȝl于无需要加装各U本土语apȝQ就可以昄全世界上所有文化的字符了?

  但是QUNICODE 在制订时没有考虑与Q何一U现有的~码Ҏ(gu)保持兼容Q这使得 GBK 与UNICODE 在汉字的内码~排上完全是不一LQ没有一U简单的术Ҏ(gu)可以把文本内容从UNICODE~码和另一U编码进行{换,q种转换必须通过查表来进行?

  如前所qͼUNICODE 是用两个字节来表CZؓ一个字W,他d可以l合?5535不同的字W,q大概已l可以覆盖世界上所有文化的W号。如果还不够也没有关p,ISO已经准备了UCS-4Ҏ(gu)Q说单了是四个字节来表CZ个字W,q样我们可以组合出21亿个不同的字W出来(最高位有其他用途)Q这大概可以用到银河联邦成立那一天吧Q?/p>

  UNICODE 来到Ӟ一起到来的q有计算机网l的兴vQUNICODE 如何在网l上传输也是一个必考虑的问题,于是面向传输的众?UTFQUCS Transfer FormatQ标准出CQ顾名思义QUTF8是每次8个位传输数据Q而UTF16是每次16个位Q只不过Z传输时的可靠性,从UNICODE?UTF时ƈ不是直接的对应,而是要过一些算法和规则来{换?/p>

  受到q网l编E加持的计算机僧侣们都知道,在网l里传递信息时有一个很重要的问题,是对于数据高低位的解读方式Q一些计机是采用低位先发送的Ҏ(gu)Q例如我们PC机采用的 INTEL 架构Q而另一些是采用高位先发送的方式Q在|络中交换数据时Qؓ了核对双方对于高低位的认识是否是一致的Q采用了一U很便的Ҏ(gu)Q就是在文本的开始时向对方发送一个标志符——如果之后的文本是高位在位,那就发?FEFF"Q反之,则发?FFFE"。不信你可以用二q制方式打开一个UTF-X格式的文Ӟ看看开头两个字节是不是q两个字节?

  讲到q里Q我们再Z说说一个很著名的奇怪现象:当你?windows 的记事本里新Z个文Ӟ输入"联?两个字之后,保存Q关闭,然后再次打开Q你会发现这两个字已l消׃Q代之的是几个ؕ码!呵呵Q有q就是联通之所以拼不过Ud的原因?/p>

  其实q是因ؓGB2312~码与UTF8~码产生了编码冲撞的原因?

  从网上引来一D从UNICODE到UTF8的{换规则:
        Unicode
        UTF-8
        0000 - 007F
        0xxxxxxx
        0080 - 07FF
        110xxxxx 10xxxxxx
        0800 - FFFF
        1110xxxx 10xxxxxx 10xxxxxx
    例如"?字的Unicode~码?C49?C49?800-FFFF之间Q所以要?字节模板Q?110xxxx 10xxxxxx 10xxxxxx。将6C49写成二进制是Q?110 1100 0100 1001Q将q个比特按三字节模板的分段Ҏ(gu)分ؓ0110 110001 001001Q依ơ代替模板中的xQ得刎ͼ1110-0110 10-110001 10-001001Q即E6 B1 89Q这是其UTF8的编码?
    而当你新Z个文本文件时Q记事本的编码默认是ANSI,如果你在ANSI的编码输入汉字,那么他实际就是GBpd的编码方式,在这U编码下Q?联?的内码是Q?
            c1 1100 0001
            aa 1010 1010
            cd 1100 1101
            a8 1010 1000
         
    注意C吗?W一二个字节、第三四个字节的起始部分的都?110"?10"Q正好与UTF8规则里的两字节模板是一致的Q于是再ơ打开C本时Q记事本p认ؓq是一个UTF8~码的文Ӟ让我们把W一个字节的110和第二个字节?0LQ我们就得到?00001 101010"Q再把各位对齐,补上前导?Q就得到?0000 0000 0110 1010"Q不好意思,q是UNICODE?06AQ也是写的字?j"Q而之后的两字节用UTF8解码之后?368Q这个字W什么也不是。这是只有"联?两个字的文g没有办法在记事本里正常显C的原因?

    而如果你?联?之后多输入几个字Q其他的字的~码不见得又恰好?10?0开始的字节Q这样再ơ打开ӞC本就不会坚持q是一个utf8~码的文Ӟ而会用ANSI的方式解MQ这时ؕ码又不出C?br />         
    好了Q终于可以回{NICO的问题了Q在数据库里Q有n前缀的字串类型就是UNICODEcdQ这U类型中Q固定用两个字节来表CZ个字W,无论q个字符是汉字还是英文字母,或是别的什么?

    如果你要试"abc汉字"q个串的长度Q在没有n前缀的数据类型里Q这个字串是7个字W的长度Q因Z个汉字相当于两个字符。而在有n前缀的数据类型里Q同L试串长度的函数会告诉你是5个字W,因ؓ一个汉字就是一个字W?/p>


本文来自CSDN博客Q{载请标明出处Q?a >http://blog.csdn.net/stilling2006/archive/2009/04/27/4129700.aspx



zhaoyg 2010-03-31 13:52 发表评论
]]>
l习TinyXml的写操作http://www.shnenglu.com/zhaoyg/archive/2010/03/29/110862.htmlzhaoygzhaoygMon, 29 Mar 2010 07:06:00 GMThttp://www.shnenglu.com/zhaoyg/archive/2010/03/29/110862.htmlhttp://www.shnenglu.com/zhaoyg/comments/110862.htmlhttp://www.shnenglu.com/zhaoyg/archive/2010/03/29/110862.html#Feedback0http://www.shnenglu.com/zhaoyg/comments/commentRss/110862.htmlhttp://www.shnenglu.com/zhaoyg/services/trackbacks/110862.html
int Write()
{
    TiXmlDocument doc ;
    TiXmlDeclaration 
*declare =new TiXmlDeclaration("1.0" , "","");
    doc.LinkEndChild(declare);
    doc.LinkEndChild(
new TiXmlComment("英集团人力资源?/span>"));

    TiXmlElement 
*root    = new TiXmlElement("英集团");
    
    TiXmlElement 
*sub    = new TiXmlElement("员工");
    sub
->SetAttribute("ID" , "011");                // 向sub中添加属?/span>
    sub->SetAttribute("职位" , "技术ȝ");
    TiXmlElement 
*child = new TiXmlElement("姓名");    // 建立子元?/span>
    TiXmlText *content =new TiXmlText("虚竹");        // 建立文本
    child->LinkEndChild(content);                    // 徏立的文本q加到child所指的子元素中
    sub->LinkEndChild(child);                        // childq加到sub?以作为子元素
    root->LinkEndChild(sub);                        // subq加到root?以作为子元素

    sub    
= new TiXmlElement("员工");
    sub
->SetAttribute("ID" , "029");
    sub
->SetAttribute("职位" , "技术ȝ");
    child 
= new TiXmlElement("姓名");
    content 
=new TiXmlText("乔峰");
    child
->LinkEndChild(content);
    sub
->LinkEndChild(child);    
    root
->LinkEndChild(sub);

    sub    
= new TiXmlElement("员工");
    sub
->SetAttribute("ID" , "100");
    sub
->SetAttribute("职位" , "L构师");
    child 
= new TiXmlElement("姓名");
    content 
=new TiXmlText("扫地?/span>");
    child
->LinkEndChild(content);
    sub
->LinkEndChild(child);    
    root
->LinkEndChild(sub);

    sub    
= new TiXmlElement("员工");
    sub
->SetAttribute("ID" , "101");
    sub
->SetAttribute("职位" , "公关部经?/span>");
    child 
= new TiXmlElement("姓名");
    content 
=new TiXmlText("韦小?/span>");
    child
->LinkEndChild(content);
    sub
->LinkEndChild(child);    
    root
->LinkEndChild(sub);

    sub    
= new TiXmlElement("员工");
    sub
->SetAttribute("ID" , "102");
    sub
->SetAttribute("职位" , "Z部经?/span>");
    child 
= new TiXmlElement("姓名");
    content 
=new TiXmlText("黄蓉");
    child
->LinkEndChild(content);
    sub
->LinkEndChild(child);    
    root
->LinkEndChild(sub);

    doc.LinkEndChild(root);

    doc.SaveFile(
"WriteTest.xml");    
    
    
    
return 0;
}

输出效果Q?br />
<?xml version="1.0" ?>
<!--英集团人力资源?/span>-->
<英集团>
    
<员工 ID="011" 职位="技术ȝ">
        
<姓名>虚竹</姓名>
    
</员工>
    
<员工 ID="029" 职位="技术ȝ">
        
<姓名>乔峰</姓名>
    
</员工>
    
<员工 ID="100" 职位="L构师">
        
<姓名>扫地?/span></姓名>
    
</员工>
    
<员工 ID="101" 职位="公关部经?>
        
<姓名>韦小?/span></姓名>
    
</员工>
    
<员工 ID="102" 职位="Z部经?>
        
<姓名>黄蓉</姓名>
    
</员工>
</英集团>

注意Q?br />在网上搜索如何用TinyXmlӞ本h普遍的发CcM如下的代?br />
TiXmlDocument doc;
TiXmlElement 
*ele = new TiXmlElement("test");

doc.LinkEndChild(ele);
doc.SaveFile(
"test.xml");

也就是只有new而没有delete?br />于是当我W一ơ写的时候,很守规矩的按部q的在doc.SaveFile后面加上了delete eleQ而这一加就把问题加出来了,E序直接在运行时崩掉了?br />后来才知道,人家那样写是有原因的。当析构Ӟtinyxml会对所有已l连接进来的节点q行释放Q所以不需要手动的去释放所new出来的东西,而如果TiXmlDocument对象也是new出来的,则需要对TiXmlDocument对象执行delete?img src ="http://www.shnenglu.com/zhaoyg/aggbug/110862.html" width = "1" height = "1" />

zhaoyg 2010-03-29 15:06 发表评论
]]>
对TinyXml的一条笔?/title><link>http://www.shnenglu.com/zhaoyg/archive/2010/03/29/110815.html</link><dc:creator>zhaoyg</dc:creator><author>zhaoyg</author><pubDate>Mon, 29 Mar 2010 03:45:00 GMT</pubDate><guid>http://www.shnenglu.com/zhaoyg/archive/2010/03/29/110815.html</guid><wfw:comment>http://www.shnenglu.com/zhaoyg/comments/110815.html</wfw:comment><comments>http://www.shnenglu.com/zhaoyg/archive/2010/03/29/110815.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/zhaoyg/comments/commentRss/110815.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/zhaoyg/services/trackbacks/110815.html</trackback:ping><description><![CDATA[ <p>q两天在接触XMLQ于是也׃解到有个TinyXml库?br />因ؓ刚接触TinyXmlQ所以对于其中的成员函数Value的行为L有些不解Q因为它输出的一会是元素名一会又是|让我十分困惑?br />后来在官方在U手册上才弄明白QValue输出的结果ؓҎ(gu)对象cd的不同而不同,如下所qͼ<br /><br />Document:   filename of the xml file<br />Element:       name of the element<br />Comment:    the comment text<br />Unknown:     the tag contents<br />Text:            the text string<br /><br /><br />TinyXml 在线手册Q?<a >http://www.grinninglizard.com/tinyxmldocs/annotated.html</a></p> <img src ="http://www.shnenglu.com/zhaoyg/aggbug/110815.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/zhaoyg/" target="_blank">zhaoyg</a> 2010-03-29 11:45 <a href="http://www.shnenglu.com/zhaoyg/archive/2010/03/29/110815.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在记事本中fixedsys字体可用http://www.shnenglu.com/zhaoyg/archive/2009/12/28/104265.htmlzhaoygzhaoygMon, 28 Dec 2009 04:29:00 GMThttp://www.shnenglu.com/zhaoyg/archive/2009/12/28/104265.htmlhttp://www.shnenglu.com/zhaoyg/comments/104265.htmlhttp://www.shnenglu.com/zhaoyg/archive/2009/12/28/104265.html#Feedback0http://www.shnenglu.com/zhaoyg/comments/commentRss/104265.htmlhttp://www.shnenglu.com/zhaoyg/services/trackbacks/104265.html
后来在网上一搜,发现其原因是该字体在字体库中是被隐藏的,于是C本中才不能用该字体。网上的解决Ҏ(gu)也很单,打开“控制面板”中的“字体”Q此时会发现该字体是暗色的(即隐藏)Q在该字体上鼠标右键选择“昄”之后便可在记事本中用fixedsys字体了?

zhaoyg 2009-12-28 12:29 发表评论
]]>
þۺϸϾþúݺݺ97ɫ | 1000Ʒþþþþþþ| þþžѸƵ| þþþþaŷa| Ʒþþþþ| þþƷ99þ㽶ɫ| Ʒþþþþ| ޹˾Ʒþþùһ | ҹƷþþþþ| þҹɫƷվ| ޾ƷƷþ99һ| ƷۺϾþþþþ98| ۺպþóAV| ˾ƷǾþ| ξþ99ƷþþþþС˵| ޾Ʒ׽þþþþ| þĻƷѩ| þþƷһ| þøݾƷԴվ| þۺۺϾþúݺݺ97ɫ88| Ůaaaþþü| þþþù˾Ʒҹ| ɫúݺݾþۺ| ˾ƷǾþ| 77777ҹþö| þþþƷҰ| ޾Ʒþþþϼ| 69SEXþþƷ鶹| ҹƷþӰԺ| þþƷҹҹҹҹҹþ| ҹƷƬþ| Ʒþþþù3d| ݺɫۺϾþ| aaþʦ2021Ʒ | þþƷަvDz| ޹Ʒþ| Ʒþþ99| պƷþþվ| ŮһaëƬþw| һþaþþƷvrۺ| Ʒþþþþþþþ|