随笔 - 40  文章 - 3 评论 - 82 trackbacks - 2

最新评论

共5页: 1 2 3 4 5 下一页 
Re:IcePatch2+IceGrid部署的解决方案 热爱生活qq1510914311 2011-12-11 15:12  
谢谢!
Re:VC解析XML--使用CMarkup类解析XML likebeta 2011-08-17 09:28  
谢谢楼主了,我去试试,用他操作html可以吗?
Re:VC解析XML--使用CMarkup类解析XML 清清飞扬 2011-03-11 16:03  
我用你同样的代码,在进行了添加元素后,再调用更新元素时,在Load处就失败了,加载不成功!不知道是哪里的问题? [code=cpp] void CXml_MarkupDlg::OnBtnFind() { CMarkup xml; if(!xml.Load("D:\\Desktop\\dd\\a.xml")) { MessageBox("加载文件失败,请确认文件是否存在"); return; } CString sResult; while(xml.FindChildElem("ITEM")) { xml.IntoElem(); // 进入当前结点 xml.FindChildElem("SN"); CString sSN = xml.GetChildData(); xml.FindChildElem("NAME"); CString sName = xml.GetChildData(); xml.FindChildElem("QTY"); int nQty = atoi(xml.GetChildData()); xml.OutOfElem(); // 退出当前结点 sResult.Format("%s, %s, %d", sSN, sName, nQty); MessageBox(sResult); } } void CXml_MarkupDlg::OnBtnAdd() { CString sFileName = "D:\\Desktop\\dd\\a.xml"; CMarkup xml; if(!xml.Load(sFileName)) { MessageBox("加载文件失败,请确认文件是否存在"); return; } xml.AddElem("ORDER"); xml.IntoElem(); xml.AddElem("ITEM"); xml.IntoElem(); xml.AddElem("SN", "4238764-A"); xml.AddElem("NAME", "bearing"); xml.AddElem("QTY", "15"); xml.OutOfElem(); xml.AddElem("SHIPMENT"); xml.IntoElem(); xml.AddElem("POC"); xml.SetAttrib("type", "non-emergenty"); xml.IntoElem(); xml.AddElem("NAME", "John Smith"); xml.AddElem("TEL", "555-1234"); xml.Save(sFileName); } void CXml_MarkupDlg::OnBtnUpdate() { CString sFileName = "D:\\Desktop\\dd\\a.xml"; CMarkup xml; if(!xml.Load(sFileName)) { MessageBox("加载文件失败,请确认文件是否存在"); return; } if(xml.FindChildElem("SHIPMENT")) { xml.IntoElem(); if(xml.FindChildElem("POC")) { xml.IntoElem(); CString sType = xml.GetAttrib("type"); MessageBox(sType); xml.SetAttrib("type", "change"); CString sUserID = xml.GetData(); MessageBox(sUserID); if(xml.FindChildElem("TEL")) { xml.IntoElem(); xml.SetData("123456789"); xml.Save(sFileName); } } } } [/code] 最初的xml文件内容是: <ORDER> <ITEM> <SN>132487A-J</SN> <NAME>crank casing</NAME> <QTY>1</QTY> </ITEM> <ITEM> <SN>132487B-K</SN> <NAME>crank cafe</NAME> <QTY>2</QTY> </ITEM> </ORDER>
Re:VC解析XML--使用CMarkup类解析XML 飞鸽传书官方网站 2010-10-25 11:37  
好文章。
Re:#pragma pack() 和sizeof 飞天名猪 2010-08-23 17:08  
编译器好像没有5字节对齐,只有双数的。
Re:#pragma pack() 和sizeof 刘林 2010-08-21 16:08  
还想问一下,如果 #pragma pack(push) //保存对齐状态 #pragma pack(5) //设定为5字节对齐 struct test { char m1; double m4; int m3; }; #pragma pack(pop)//恢复对齐状态 test t ={1, 2, 3}; 设置成5字节对齐的时候,此时我查看t的内存,t中double的成员变量为什么在内存中看不出来,还有对齐方式也看不出来是5的倍数,不知道编译器是怎么优化的。 Memory1中是这么显示的: 01 cc cc cc cc cc cc cc [b]00 00 00 00 00 00 14 40[/b] 03 00 00 00 cc cc cc cc 我只看到1和3,2不知道是怎么搞的。 楼主能不能解释一下。 MAIL: liuling-1985@163.com
Re:#pragma pack() 和sizeof 刘林 2010-08-21 16:03  
好文章,写得很详细。
Re:发布9个腾讯微博的邀请码 飞天名猪 2010-06-07 10:11  
再发8个 http://t.qq.com/invite/11e89cddb39677fb3bc7 http://t.qq.com/invite/e903561d3bc7d2ea78eb http://t.qq.com/invite/e1d2e154b9103b586933 http://t.qq.com/invite/33bfdbabd0c43c0a966b http://t.qq.com/invite/a78e8ea57bf1109052e3 http://t.qq.com/invite/69100d6225d9d5b37313 http://t.qq.com/invite/2d77639a0b120fca3481 http://t.qq.com/invite/699c0f40a756c97a1ddb http://t.qq.com/invite/e9be4941253646ca4fc3
Re:发布9个腾讯微博的邀请码 kuafoo 2010-06-01 09:22  
http://t.qq.com/invite/daa4dc69ef5a295d5d85 http://t.qq.com/invite/2575fe632a21fd92cedf http://t.qq.com/invite/4c96c999d0b16cf4d031
还有吗?
Re:发布9个腾讯微博的邀请码 寒萧 2010-06-01 09:00  
谢谢,用了一个
Re:发布9个腾讯微博的邀请码 寒萧 2010-06-01 08:56  
失效了!
Re:发布9个腾讯微博的邀请码 Melc 2010-06-01 08:56  
我在发7个: http://t.qq.com/invite/a8407a517bf3ba647bfb http://t.qq.com/invite/d74699b329698326116f http://t.qq.com/invite/8bff59d8572f4af0d19b http://t.qq.com/invite/5409f3bcb92259c62699 http://t.qq.com/invite/0a0cb225764691ada313 http://t.qq.com/invite/6b299b7c125f285643df http://t.qq.com/invite/8807af264e243a8601c9
Re:发布9个腾讯微博的邀请码 被偷De贼 2010-06-01 08:52  
占用一个名额啦~~
Re:发布9个腾讯微博的邀请码 小蠢兔 2010-06-01 08:50  
怎么都失效了
感谢LZ的解决方案啊~
Re:#pragma pack() 和sizeof 暮夏 2010-03-30 18:07  
结构体按照 8 - 4 - 2 - 1 从大到小的方式来写。一般不会浪费多少内存。(当然一个double 一个 char 就浪费挺多的) 还有一个问题要问楼主,改变默认的对齐方式,会不会影响程序的性能。
我做了一个这样的,有兴趣可以联系我:dahuaxiyou601@163.com,我们共同学习
re: #pragma pack() 和sizeof 飞天名猪 2009-06-29 12:45  
n可以是16,但是n是16的时候结果跟8一样,因为大于里面最大成员的字节数,按默认规则处理.
n 只能为1,2,4,8,16
re: #pragma pack() 和sizeof no name 2009-06-28 14:18  
哥们你写的太复杂了
#pragama pack(n) 的设定范围是 1<=n<=最大成员所占字节数。

所以此例:
#pragma pack(push) //保存对齐状态
#pragma pack(4)//设定为4字节对齐
struct test {
char m1;
double m4;
int m3;
};
#pragma pack(pop)//恢复对齐状态
你的n设成多少,最大只能是8。
共5页: 1 2 3 4 5 下一页