﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-This blog has been shut down permanently.</title><link>http://www.cppblog.com/issayandfaye/</link><description /><language>zh-cn</language><lastBuildDate>Wed, 08 Apr 2026 12:17:13 GMT</lastBuildDate><pubDate>Wed, 08 Apr 2026 12:17:13 GMT</pubDate><ttl>60</ttl><item><title>墨卡托投影、高斯-克吕格投影、UTM投影及我国分带方法</title><link>http://www.cppblog.com/issayandfaye/archive/2010/04/23/113307.html</link><dc:creator>iZ</dc:creator><author>iZ</author><pubDate>Fri, 23 Apr 2010 02:11:00 GMT</pubDate><guid>http://www.cppblog.com/issayandfaye/archive/2010/04/23/113307.html</guid><wfw:comment>http://www.cppblog.com/issayandfaye/comments/113307.html</wfw:comment><comments>http://www.cppblog.com/issayandfaye/archive/2010/04/23/113307.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/issayandfaye/comments/commentRss/113307.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/issayandfaye/services/trackbacks/113307.html</trackback:ping><description><![CDATA[<p>原文地址：<a href="http://tian0226.blog.sohu.com/142843049.html">http://tian0226.blog.sohu.com/142843049.html</a><font color=#990000><strong></strong></font></p>
<p><font color=#990000><strong>一、墨卡托投影、高斯-克吕格投影、UTM投影</strong></font></p>
<p><font color=#cc0000>1． 墨卡托(Mercator)投影</font></p>
<p><font color=#cc0000><img height=691 alt="" src="http://www.cppblog.com/images/cppblog_com/issayandfaye/Mercator.JPG" width=553 border=0></font></p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 墨卡托(Mercator)投影，是一种"等角正切圆柱投影&#8221;，荷兰地图学家墨卡托（Gerhardus Mercator 1512－1594）在1569年拟定，假设地球被围在一中空的圆柱里，其标准纬线与圆柱相切接触，然后再假想地球中心有一盏灯，把球面上的图形投影到圆柱体上，再把圆柱体展开，这就是一幅选定标准纬线上的&#8220;墨卡托投影&#8221;绘制出的地图。墨卡托投影没有角度变形，由每一点向各方向的长度比相等，它的经纬线都是平行直线，且相交成直角，经线间隔相等，纬线间隔从标准纬线向两极逐渐增大。墨卡托投影的地图上长度和面积变形明显，但标准纬线无变形，从标准纬线向两极变形逐渐增大，但因为它具有各个方向均等扩大的特性，保持了方向和相互位置关系的正确。在地图上保持方向和角度的正确是墨卡托投影的优点，墨卡托投影地图常用作航海图和航空图，如果循着墨卡托投影图上两点间的直线航行，方向不变可以一直到达目的地，因此它对船舰在航行中定位、确定航向都具有有利条件，给航海者带来很大方便。&#8220;海底地形图编绘规范&#8221;（GB/T 17834-1999，海军航保部起草）中规定1：25万及更小比例尺的海图采用墨卡托投影，其中基本比例尺海底地形图（1：5万，1：25万，1：100万）采用统一基准纬线30&#176;，非基本比例尺图以制图区域中纬为基准纬线。基准纬线取至整度或整分。</p>
<p>&nbsp;&nbsp;&nbsp; 墨卡托投影坐标系取零子午线或自定义原点经线(L0)与赤道交点的投影为原点，零子午线或自定义原点经线的投影为纵坐标X轴，赤道的投影为横坐标Y轴，构成墨卡托平面直角坐标系。</p>
<p><font color=#cc0000>2． 高斯-克吕格(Gauss-Kruger)投影和UTM（Universal Transverse Mercator）投影</font></p>
<p><font color=#ff0000>（1）高斯-克吕格投影性质</font></p>
<p><img height=546 alt="" src="http://www.cppblog.com/images/cppblog_com/issayandfaye/Gauss-Kruger.JPG" width=395 border=0></p>
<p>&nbsp;&nbsp;&nbsp; 高斯-克吕格(Gauss-Kruger)投影简称&#8220;高斯投影&#8221;，又名"等角横切椭圆柱投影&#8221;，地球椭球面和平面间正形投影的一种。德国数学家、物理学家、天文学家高斯（Carl FriedrichＧauss，1777一 1855）于十九世纪二十年代拟定，后经德国大地测量学家克吕格（Johannes Kruger，1857～1928）于 1912年对投影公式加以补充，故名。</p>
<p>&nbsp;&nbsp;&nbsp; 该投影按照投影带中央子午线投影为直线且长度不变和赤道投影为直线的条件，确定函数的形式，从而得到高斯一克吕格投影公式。投影后，除中央子午线和赤道为直线外， 其他子午线均为对称于中央子午线的曲线。设想用一个椭圆柱横切于椭球面上投影带的中央子午线，按上述投影条件，将中央子午线两侧一定经差范围内的椭球面正形投影于椭圆柱面。将椭圆柱面沿过南北极的母线剪开展平，即为高斯投影平面。取中央子午线与赤道交点的投影为原点，中央子午线的投影为纵坐标x轴，赤道的投影为横坐标y轴，构成高斯克吕格平面直角坐标系。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 高斯-克吕格投影在长度和面积上变形很小，中央经线无变形，自中央经线向投影带边缘，变形逐渐增加，变形最大之处在投影带内赤道的两端。由于其投影精度高，变形小，而且计算简便（各投影带坐标一致，只要算出一个带的数据，其他各带都能应用），因此在大比例尺地形图中应用，可以满足军事上各种需要，能在图上进行精确的量测计算。</p>
<p><font color=#ff0000>（2）高斯-克吕格投影分带</font></p>
<p><font color=#ff0000><img height=321 alt="" src="http://www.cppblog.com/images/cppblog_com/issayandfaye/Gauss-Kruger2.JPG" width=416 border=0></font></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 按一定经差将地球椭球面划分成若干投影带,这是高斯投影中限制长度变形的最有效方法。分带时既要控制长度变形使其不大于测图误差，又要使带数不致过多以减少换带计算工作，据此原则将地球椭球面沿子午线划分成经差相等的瓜瓣形地带,以便分带投影。通常按经差6度或3度分为六度带或三度带。六度带自0度子午线起每隔经差6度自西向东分带，带号依次编为第 1、2&#8230;60带。三度带是在六度带的基础上分成的，它的中央子午线与六度带的中央子午线和分带子午线重合，即自 1.5度子午线起每隔经差3度自西向东分带，带号依次编为三度带第 1、2&#8230;120带。我国的经度范围西起 73&#176;东至135&#176;，可分成六度带十一个，各带中央经线依次为75&#176;、81&#176;、87&#176;、&#8230;&#8230;、117&#176;、123&#176;、129&#176;、135&#176;，或三度带二十二个。六度带可用于中小比例尺（如 1：250000）测图，三度带可用于大比例尺（如 1：10000）测图，城建坐标多采用三度带的高斯投影。</p>
<p><font color=#ff0000>（3）高斯-克吕格投影坐标</font></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 高斯- 克吕格投影是按分带方法各自进行投影，故各带坐标成独立系统。以中央经线投影为纵轴(x), 赤道投影为横轴(y),两轴交点即为各带的坐标原点。纵坐标以赤道为零起算，赤道以北为正，以南为负。我国位于北半球，纵坐标均为正值。横坐标如以中央经线为零起算，中央经线以东为正，以西为负，横坐标出现负值，使用不便，故规定将坐标纵轴西移500公里当作起始轴，凡是带内的横坐标值均加 500公里。由于高斯-克吕格投影每一个投影带的坐标都是对本带坐标原点的相对值，所以各带的坐标完全相同，为了区别某一坐标系统属于哪一带，在横轴坐标前加上带号，如(4231898m,21655933m)，其中21即为带号。&nbsp;&nbsp;&nbsp; </p>
<p><font color=#ff0000>（4）高斯-克吕格投影与UTM投影</font></p>
<p>&nbsp;&nbsp;&nbsp; 某些国外的软件如ARC/INFO或国外仪器的配套软件如多波束的数据处理软件等，往往不支持高斯-克吕格投影，但支持UTM投影，因此常有把UTM投影坐标当作高斯-克吕格投影坐标提交的现象。</p>
<p>&nbsp;&nbsp;&nbsp; UTM投影全称为&#8220;通用横轴墨卡托投影&#8221;，是等角横轴割圆柱投影（高斯-克吕格为等角横轴切圆柱投影），圆柱割地球于南纬80度、北纬84度两条等高圈，该投影将地球划分为60个投影带，每带经差为6度，已被许多国家作为地形图的数学基础。UTM投影与高斯投影的主要区别在南北格网线的比例系数上，高斯-克吕格投影的中央经线投影后保持长度不变，即比例系数为1，而UTM投影的比例系数为0.9996。UTM投影沿每一条南北格网线比例系数为常数，在东西方向则为变数，中心格网线的比例系数为0.9996，在南北纵行最宽部分的边缘上距离中心点大约 363公里，比例系数为 1.00158。</p>
<p>&nbsp;&nbsp;&nbsp; 高斯-克吕格投影与UTM投影可近似采用 Xutm=0.9996 * X高斯，Yutm=0.9996 * Y高斯进行坐标转换。以下举例说明(基准面为WGS84)：</p>
<p>&nbsp;&nbsp;&nbsp;<font color=#ff0099>输入坐标（度） 高斯投影（米）&nbsp; UTM投影（米） &nbsp;Xutm=0.9996 * X高斯, Yutm=0.9996 * Y高斯<br></font>&nbsp;&nbsp;&nbsp; 纬度值（X）32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3543600.9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3542183.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3543600.9*0.9996 ≈ 3542183.5 <br>&nbsp;&nbsp;&nbsp; 经度值（Y）121&nbsp;&nbsp; 21310996.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;311072.4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (310996.8-500000)*0.9996+500000 ≈ 311072.4 </p>
<p><br>注：坐标点（32,121）位于高斯投影的21带，高斯投影Y值21310996.8中前两位&#8220;21&#8221;为带号；坐标点（32,121）位于UTM投影的51带，上表中UTM投影的Y值没加带号。因坐标纵轴西移了500000米，转换时必须将Y值减去500000乘上比例因子后再加500000。</p>
<p><br>&nbsp;&nbsp;&nbsp; 单点转换步骤如下：&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp; （1）选择是高斯正转换还是反转换，缺省为经纬度转换到高斯投影坐标，投影坐标单位为米。</p>
<p>&nbsp;&nbsp;&nbsp; （2）选择大地基准面，缺省北京54，如果是GPS定位数据别忘了切换为WGS84。</p>
<p>&nbsp;&nbsp;&nbsp; （3）选择分带，3度或6度， 缺省为6度。</p>
<p>&nbsp;&nbsp;&nbsp; （4）输入中央经度，20带（114&#176;E～120&#176;E）中央经度为117度，21带（120&#176;E～126&#176;E）中央经度为123度。</p>
<p>&nbsp;&nbsp;&nbsp; （5）如正向投影，选择经纬度输入数据格式，有三个选项，缺省为十进制度格式。具体输入方式如下例：</p>
<p>&nbsp;&nbsp; <font color=#ff0099>格 式&nbsp;&nbsp;&nbsp;&nbsp; 原始纬度值&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;原始经度值&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;输入纬度值&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;输入经度值 <br></font><font color=#ff0099>十进制度</font>&nbsp;&nbsp;&nbsp;&nbsp; 35.445901&#176;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 122.997344&#176;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 35.445901&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 122.997344 <br><font color=#0000ff><strong>&nbsp; </strong></font><font color=#ff0099>度分</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 35&#176;26.7541&#8242;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 122&#176;59.8406&#8242;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;3526.7541&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12259.8406 <br><font color=#0000ff><strong>&nbsp;</strong></font><font color=#ff0099>度分秒</font>&nbsp;&nbsp;&nbsp;&nbsp; 35&#176;26&#8242;45.245&#8243;&nbsp;&nbsp; 122&#176;59&#8242;50.438&#8243;&nbsp;&nbsp; 352645.245&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1225950.438</p>
<p><br>&nbsp;&nbsp;&nbsp;&nbsp;（6）正投影按选定格式在&#8220;输入&#8221;栏输入经纬度值，反投影输入以米为单位的X、Y坐标值。</p>
<p>&nbsp;&nbsp;&nbsp; （7）单击&#8220;单点转换&#8221;按钮。</p>
<p>&nbsp;&nbsp;&nbsp; （8）在&#8220;输出&#8221;栏查看计算结果。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p><br>&nbsp;&nbsp;&nbsp;&nbsp; 批量转换步骤如下：&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp; （1）准备好需要转换的输入数据文件，要求是文本文件，分两列，第一列纬度值或纵向坐标值，第二列经度值或横向坐标值，两列之间用空格分开。正向投影时，纬度值及经度值格式可以有三种选择，缺省当作十进制度处理；反向投影时，纵向及横向坐标值必须以米为单位。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 下例为度分秒格式(WGS84)的6&#176;带正投影输入数据文件 testdata.txt</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 352645.245&nbsp;&nbsp; 1225950.438<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 353800.402&nbsp;&nbsp; 1230000.378<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 351600.519&nbsp;&nbsp; 1225959.506<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 345800.101&nbsp;&nbsp; 1225959.8<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 343600.336&nbsp;&nbsp; 1230000.26<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 341400.018&nbsp;&nbsp; 1225959.897<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 335159.17&nbsp;&nbsp;&nbsp; 1225959.46<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 333000.08&nbsp;&nbsp;&nbsp; 1230000.28</p>
<p>&nbsp;&nbsp;&nbsp; （2）选择是高斯正转换还是反转换，缺省为经纬度转换到高斯投影坐标，投影坐标单位为米。</p>
<p>&nbsp;&nbsp;&nbsp; （3）选择大地基准面，缺省北京54，如果是GPS定位数据别忘了切换为WGS84。</p>
<p>&nbsp;&nbsp;&nbsp; （4）选择分带，3度或6度， 缺省为6度。</p>
<p>&nbsp;&nbsp;&nbsp; （5）输入中央经度，20带（114&#176;E～120&#176;E）中央经度为117度,21带（120&#176;E～126&#176;E）中央经度为123度。</p>
<p>&nbsp;&nbsp;&nbsp; （6）如正向投影，选择输入数据文件中的经纬度输入数据格式，有三个选项，缺省为十进制度格式。</p>
<p>&nbsp;&nbsp;&nbsp; （7）单击&#8220;批量转换&#8221;按钮。弹出打开文件对话框，输入你的数据文件名。</p>
<p>&nbsp;&nbsp;&nbsp; （8）输入转换结果文件名，单击&#8220;保存&#8221;后，程序开始进行计算。</p>
<p>&nbsp;&nbsp;&nbsp; （9）打开输出文件查看计算结果，结果分五列，第一序号,第二列输入纬度值或纵向坐标值，第三列输入经度值或横向坐标值,第四列转换后纬度值或纵向坐标值，第五列转换后经度值或横向坐标值。&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 下例为度分秒格式(WGS84)的6&#176;带正投影转换结果数据文件 result.txt&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp; 352645.245&nbsp;&nbsp; 1225950.438&nbsp;&nbsp;&nbsp; 3924063.3&nbsp;&nbsp;&nbsp;&nbsp; 21499758.9<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp; 353800.402&nbsp;&nbsp; 1230000.378&nbsp;&nbsp;&nbsp; 3944871.4&nbsp;&nbsp;&nbsp;&nbsp; 21500009.5<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp; 351600.519&nbsp;&nbsp; 1225959.506&nbsp;&nbsp;&nbsp; 3904193.8&nbsp;&nbsp;&nbsp;&nbsp; 21499987.5<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp; 345800.101&nbsp;&nbsp; 1225959.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3870898.1&nbsp;&nbsp;&nbsp;&nbsp; 21499994.9<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp; 343600.336&nbsp;&nbsp; 1230000.26&nbsp;&nbsp;&nbsp;&nbsp; 3830228.5&nbsp;&nbsp;&nbsp;&nbsp; 21500006.6<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp; 341400.018&nbsp;&nbsp; 1225959.897&nbsp;&nbsp;&nbsp; 3789544.4&nbsp;&nbsp;&nbsp;&nbsp; 21499997.4<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp; 335159.17&nbsp;&nbsp;&nbsp; 1225959.46&nbsp;&nbsp;&nbsp;&nbsp; 3748846.4&nbsp;&nbsp;&nbsp;&nbsp; 21499986.1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8&nbsp;&nbsp; 333000.08&nbsp;&nbsp;&nbsp; 1230000.28&nbsp;&nbsp;&nbsp;&nbsp; 3708205&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 21500007.2</p>
<p><font color=#990000><strong>二、分带方法</strong></font></p>
<p>&nbsp;&nbsp;&nbsp; 我国采用6度分带和3度分带：　</p>
<p>&nbsp;&nbsp;&nbsp; 1∶2.5万及1∶5万的地形图采用6度分带投影，即经差为6度，从零度子午线开始，自西向东每个经差6度为一投影带，全球共分60个带，用1，2，3，4，5，&#8230;&#8230;表示．即东经0～6度为第一带，其中央经线的经度为东经3度，东经6～12度为第二带，其中央经线的经度为9度。</p>
<p>&nbsp;&nbsp;&nbsp; 1∶1万的地形图采用3度分带，从东经1.5度的经线开始，每隔3度为一带，用1，2，3，&#8230;&#8230;表示，全球共划分120个投影带，即东经1.5～ 4.5度为第1带，其中央经线的经度为东经3度，东经4.5～7.5度为第2带，其中央经线的经度为东经6度．我省位于东经113度－东经120度之间，跨第38、39、40共计3个带，其中东经115.5度以西为第38带，其中央经线为东经114度；东经115.5～118.5度为39带，其中央经线为东经117度；东经118.5度以东到山海关为40带，其中央经线为东经120度。地形图上公里网横坐标前2位就是带号，例如：1∶5万地形图上的横坐标为20345486，其中20即为带号，345486为横坐标值。2．当地中央经线经度的计算六度带中央经线经度的计算：当地中央经线经度＝６&#176;&#215;当地带号－３&#176;，例如：地形图上的横坐标为２０３４５，其所处的六度带的中央经线经度为：６&#176;&#215;２０－３&#176;＝１１７&#176;（适用于１∶２．５万和１∶５万地形图）。三度带中央经线经度的计算：中央经线经度＝３&#176;&#215;当地带号（适用于１∶１万地形图）。</p>
<img src ="http://www.cppblog.com/issayandfaye/aggbug/113307.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/issayandfaye/" target="_blank">iZ</a> 2010-04-23 10:11 <a href="http://www.cppblog.com/issayandfaye/archive/2010/04/23/113307.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>十大职业素养</title><link>http://www.cppblog.com/issayandfaye/archive/2010/03/24/110428.html</link><dc:creator>iZ</dc:creator><author>iZ</author><pubDate>Wed, 24 Mar 2010 05:38:00 GMT</pubDate><guid>http://www.cppblog.com/issayandfaye/archive/2010/03/24/110428.html</guid><description><![CDATA[<p>&nbsp;</p>
<p>　　一流的员工来自一流的职业素养。一个人职业素养的高低，直接关系到他一生的成就。能力和专业知识固然对每一个人都很重要，但要在职场中取得成功，最关键的还是在于职业素养！</p>
<p>　　要成为一流的员工，就需要具有以下十大职业素养：</p>
<p>　　(一)、敬业：只有你善待岗位，岗位才能善待你。</p>
<p>　　在工作中，我们经常听到这样的抱怨：&#8220;不是我不愿意努力，是我所在的部门太差，工作岗位太平凡，太不起眼，要前途没前途，要发展没发展&#8230;&#8230;&#8221;而在你挑剔和厌恶岗位的时候，岗位同样也会疏远和厌弃你，更谈不上给你新的空间和机会。其实，在职场中含着金钥匙出生的人只是极少数，大部分人即使是现在已取得辉煌成就的人，绝大多数都是从最平凡的岗位做起的。</p>
<p>　　曾经感动和激励了无数人的畅销书《邮差弗雷德》，它的主人公弗雷德是一个普普通通的邮差，但他却用自己的快乐、敬业和周到体贴的服务赢得了无数人的尊敬，美国邮政协会还专门设立了弗雷德奖，奖励那些在投递行业认真工作，在服务、创新和尽责上具有同样精神的员工。</p>
<p>　　我们大多数人都像弗雷德一样，从事着普通又平凡的工作，但我们中又有几个人能真的像弗雷德一样，把自己人生的舞台演绎得这么精彩？</p>
<p>　　在人生这个大舞台上，永远只有小演员，没有小角色。这其中的差别，完全看我们自己如何对待。</p>
<p>　　如果我们用&#8220;小&#8221;的心来演绎自己的人生，那么我们只能是一个不受重视的小角色。如果我们用&#8220;大&#8221;的心去演好每一个角色，那么，即使是一个小角色，也能演出主角的风采，并终有一天成为主角。</p>
<p>　　(二)、发展：与单位需求挂钩，才会一日千里。</p>
<p>　　很多职场中的人都有这样的心理：觉得单位对自己不公平，认为凭自己的学识和能力，单位应该给自己更大的平台，更好的空间，更高的待遇&#8230;&#8230;但他们却很少反思：为什么自己有学识、有能力，但却在单位中得不到重用，原因到底在哪里？</p>
<p>　　我认识一位经济学博士，他也有过这样的苦恼和困惑。他博士毕业后，很多大企业都争相聘请他，但奇怪的是，他哪家企业都呆不长，总是没几个月就被辞退。于是他找到我，让我帮他分析原因，听完他的讲述，我找到了症结所在：别人开始争相聘请他，是看中了他的学历。但真正到了工作中，他却处处端着博士的架子，要么抱怨，要么挑剔，却并没有真正将自己的学识用到工作中去。我告诉他，尽管你拥有博士的头衔，却没有搞懂一个职场发展的基本规则：单位只会为你的使用价值买单。或许你有研究生、博士生的头衔，或许你才高八斗，学富五车，但如果你的学识只有百分之十对单位有用，那么单位就只会为你这百分之十买单。而剩下的百分之九十，那是你自己的事，没有哪个单位会那么傻，对你没有为单位创造任何效益的百分之九十一起买下来。亏本的买卖谁也不会做，换了你是老总，你同样也不会买单。</p>
<p>　　这番话对他触动很大，也让用一种全新的心态去面对工作。现在，他已经是一家上市公司的副总裁。所以，无论什么时候，只有将自己的学识、能力和单位的需求紧密联系在一起，为单位创造了最大效益，那么，自己的发展才会一日千里。</p>
<p>　　(三)、主动：从要我做到我要做。</p>
<p>　　我们将员工分为五种：</p>
<p>　　第一种，自动自发的员工；</p>
<p>　　第二种，提出要求后，能落实到位的员工；</p>
<p>　　第三种，打折扣的员工。</p>
<p>　　第四种，混日子的员工。</p>
<p>　　第五种，&#8220;烂苹果&#8221;员工。</p>
<p>　　毫无疑问，第一种员工是任何单位都最欢迎、也最有发展的员工。要成为这样的一流员工，就必须完成&#8220;从要我做到我要做&#8221;的转换，明白自己不仅是单位的雇员，更是自己的主人，同样也是职位的主人。到底怎么才是&#8220;我要做&#8221;？我们来看一个发生在世界著名酒店里兹&#183;卡尔顿酒店的故事：一个行李员接到一个电话，原来有一位刚刚离开客人将他的一份文件落在了酒店里。第二天九点，这位客人出庭的时候将需要用到这份材料。而无论他回来取或者派人送到机场去都已经不可能了，因为再有半个小时这位客人就要登上从华盛顿飞往纽约的飞机了。</p>
<p>　　听着电话里客人焦急的声音，行李员下决心在开庭前一定要将材料送到客人手中，于是自费买了一张机票，搭乘当晚最后一班飞机飞往纽约！做这样的决定并不容易，因为他知道酒店是不可能给他出路费的，而且在工作时间自作主张跑到纽约去，他可能会因此被炒鱿鱼。但他认定了帮助这位客人也是他工作的一部分，虽然员工守则中并没有注明一个行李员要这样做。</p>
<p>　　客人在法庭门口接过文件时，那份感动和感激无法用语言来表达。当服务生忐忑不安地回到酒店时，让他没想到的是，自己受到了最隆重的接待：总经理，部门经理都站在门口列队等候。原来那位客人打电话到了酒店里，表达了自己的感激之情，说像行李员这样具有主动服务意识的员工真的很难得，并且表示以后到华盛顿去，一定还要住在拥有有这样优秀员工的里兹&#183;卡尔顿酒店里。这件事后来被《纽约时报》的一位记者知道了，于是写了一篇非常感人的报道，一时间大家都知道里兹&#183;卡尔顿酒店有这样一个主动帮助客人，积极服务的员工。声名为此大振的里兹&#183;卡尔顿酒店，特别开展了向这位普通员工学习的活动。</p>
<p>　　这位行李员的身上体现出来的主动精神，值得每一个职场人士学习。只有真正将自己当成职位的主人，才能不斤斤计较，自动自发地做好每一件事情，甚至连自己分外的都主动去做。如果能够做到这一点，又何愁没有大的发展、没有新的机会？</p>
<p>　　(四)责任：会担当才会有大发展。</p>
<p>　　在职场中，责任感和发展的空间和机会往往是成正比的，也就是说，越敢于承担，越有大的发展。</p>
<p>　　对于一流的员工来说，工作永远没有&#8220;打折卡&#8221;，因为他们知道，对工作打折，也就是对自己的前途和发展打折——没有任何一个单位，会将重担交给一个工作上不认真负责、处处偷工减料的人。</p>
<p>　　同时，一个一流的员工，还是一个优秀的责任承担者：一旦出现问题，不找借口、不推诿责任，而是主动承担，并懂得反思，避免同样的错误再次出现。这也是一流员工应该具备的良好品格，敢于担当的人，才能真正挑起大梁，获得更大的发展机会！</p>
<p>　　(五)执行：保证完成任务。<br>　　执行力是所有企业都非常看重的能力，这也和每一个职业人士的发展密切相关。要想保证完成任务，就要做到四个到位，也就是：&#8220;心态到位，姿态到位，行动到位，方法到位。&#8221;这四个到位很好理解，却并不容易做到。</p>
<p>　　心态到位，才能在思想上认真投入，心无旁骛的专心一志将事情做成。而这种不达目的不罢休的态度，就是石头见了也会点头的。</p>
<p>　　姿态到位，就是为了达到目标，要有百折不挠、穷尽一切可能的信心和勇气。</p>
<p>　　行动到位，也就是为了达到目标，要付诸怎样的实际行动，如量化自己的工作，比如今天必须要完成多少稿件，要打多少个电话，访问几个客户&#8230;&#8230;</p>
<p>　　技巧到位，就是要有方法，运用智慧，使工作能够高效完成。</p>
<p>　　(六)品格：小胜凭智，大胜靠德。</p>
<p>　　就是说小的胜利要靠我们的智慧去争取，而大的胜利和发展，则必须依靠我们的品德。纵观那些杰出的成功人士，或许他们成功的过程各不相同，但有一点却是相同的：优秀的品德。</p>
<p>　　在职场中，凭着一些小聪明或者是小谋术，或许能够取得一时的成绩，但要想获得真正大的发展，则必须以&#8220;德&#8221;服人。</p>
<p>　　(七)绩效:不重苦劳重功劳。</p>
<p>　　在职场中，我们经常会看到这样的现象：很多人工作勤勤恳恳，一年到头忙个不停，干得比任何人都多都努力，但却总是在原地踏步，提升发展的机会似乎总也轮不到他们。到底是什么原因造成了这样的局面？答案是，&#8220;苦劳&#8221;重要，&#8220;功劳&#8221;更重要，否则，所有的&#8220;苦&#8221;就是白辛苦，是没有效益的苦。&#8220;老黄牛&#8221;只有插上绩效的翅膀，给单位创造出真正的效益，那么才能只有这样，才会才能获得更好的发展。</p>
<p>　　(八)协作：在团队中实现最好的自我。</p>
<p>　　随着竞争的日趋激烈，独行侠的时代早已过去，团队精神已越来越被企业和个人所重视。</p>
<p>　　任何一个企业，如果只是一个人优秀，而不是大多数人优秀甚至是人人优秀，那么这个企业不要说做大做强，连起码的生存都会有危机。</p>
<p>　　同样的道理，如果如果一个人只想着自己的发展，而不想着团队的整体发展，至考虑自己的利益，而不顾及整个团队的利益，那么这个团队就是一盘散沙。而团队没有发展，那么个人的发展自然也就无从谈起。所以，只有将自己真正融入团队，那么才能实现最好的自我。</p>
<p>　　(九)智慧:有想法更要有办法。</p>
<p>　　要想成为一流的员工、获得最快的发展，有一点非常重要，那就是做智慧型员工，不是简单地用手，而是用脑、用心去做事。加一点智慧的佐料工作的汤就会鲜起来。</p>
<p>　　同样的问题，用不同的方法去解决，产生的结果就会完全不同。如果方法选对了，那么效率就会大大提高，成本就会大大降低。而有想法更有办法的员工，自然也是单位最器重的。</p>
<p>　　(十)形象：你就是单位的品牌。<br>　　这是一流员工十大素养中最后一条，也是非常重要的一条。</p>
<p>　　每个企业都有自己的品牌和形象，而这样的品牌和形象，很大程度上是靠员工树立起来的。自己的一言一行、一举一动，都可能成为别人眼中对这个企业的印象。</p>
<p>　　所以，无论什么时候，都时刻要对自己有这样的要求：我就是企业的形象，我就是企业的&#8220;金子招牌&#8221;！<br></p>
<img src ="http://www.cppblog.com/issayandfaye/aggbug/110428.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/issayandfaye/" target="_blank">iZ</a> 2010-03-24 13:38 <a href="http://www.cppblog.com/issayandfaye/archive/2010/03/24/110428.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>十个步骤打造安全的个人Web服务器</title><link>http://www.cppblog.com/issayandfaye/archive/2010/03/23/110340.html</link><dc:creator>iZ</dc:creator><author>iZ</author><pubDate>Tue, 23 Mar 2010 04:10:00 GMT</pubDate><guid>http://www.cppblog.com/issayandfaye/archive/2010/03/23/110340.html</guid><wfw:comment>http://www.cppblog.com/issayandfaye/comments/110340.html</wfw:comment><comments>http://www.cppblog.com/issayandfaye/archive/2010/03/23/110340.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/issayandfaye/comments/commentRss/110340.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/issayandfaye/services/trackbacks/110340.html</trackback:ping><description><![CDATA[<div class=m_l_cont_note>摘自<a href="http://netsecurity.51cto.com/"><font color=#cc0000>http://netsecurity.51cto.com</font></a> &nbsp;2010-01-12 12:07 </div>
<div class=m_l_cont_note1>
<ul>
    <li><span class=fa><font color=#cc0000>摘要：</font></span>Win2003 Server的安全性较之Win2K确实有了很大的提高，但是用Win2003 Server作为服务器是否就真的安全了？如何才能打造一个安全的个人Web服务器？下面我们简单介绍一下 ......
    <li><span class=fa><font color=#cc0000>标签：</font></span><a href="http://www.51cto.com/php/search.php?keyword=Web" target=_blank><u><font color=#0e60ac>Web</font></u></a>&nbsp;&nbsp;<a href="http://www.51cto.com/php/search.php?keyword=%B7%FE%CE%F1%C6%F7%20" target=_blank><font color=#0e60ac><u>服务器 </u></font></a></li>
</ul>
</div>
<div class=m_l_cont_text>
<p><u><font color=#0e60ac></font></u>
<p>Win2003 Server的安全性较之Win2K确实有了很大的提高，但是用Win2003 Server作为服务器是否就真的安全了？如何才能打造一个安全的个人Web服务器？下面我们简单介绍一下</p>
<p>一、Windows Server2003的安装</p>
<p>1、安装系统最少两需要个分区，分区格式都采用NTFS格式</p>
<p>2、在断开网络的情况安装好2003系统</p>
<p>3、安装IIS，仅安装必要的 IIS 组件（禁用不需要的如FTP 和 SMTP 服务）。默认情况下，IIS服务没有安装，在添加/删除Win组件中选择&#8220;应用程序服务器&#8221;，然后点击&#8220;详细信息&#8221;，双击Internet信息服务(iis)，勾选以下选项：</p>
<p>Internet 信息服务管理器；</p>
<p>公用文件；</p>
<p>后台智能传输服务 (BITS) 服务器扩展；</p>
<p>万维网服务。</p>
<p>如果你使用 FrontPage 扩展的 Web 站点再勾选：FrontPage 2002 Server Extensions</p>
<p>4、安装MSSQL及其它所需要的软件然后进行Update。</p>
<p>5、使用Microsoft 提供的 MBSA（Microsoft Baseline Security Analyzer） 工具分析计算机的安全配置，并标识缺少的修补程序和更新。下载地址：见页末的链接</p>
<p>二、设置和管理账户</p>
<p>1、系统管理员账户最好少建，更改默认的管理员帐户名（Administrator）和描述，密码最好采用数字加大小写字母加数字的上档键组合，长度最好不少于14位。</p>
<p>2、新建一个名为Administrator的陷阱帐号，为其设置最小的权限，然后随便输入组合的最好不低于20位的密码</p>
<p>3、将Guest账户禁用并更改名称和描述，然后输入一个复杂的密码，当然现在也有一个DelGuest的工具，也许你也可以利用它来删除Guest账户，但我没有试过。</p>
<p>4、在运行中输入gpedit.msc回车，打开组策略编辑器，选择计算机配置-Windows设置-安全设置-账户策略-账户锁定策略，将账户设为&#8220;三次登陆无效&#8221;，&#8220;锁定时间为30分钟&#8221;，&#8220;复位锁定计数设为30分钟&#8221;。</p>
<p>5、在安全设置-本地策略-安全选项中将&#8220;不显示上次的用户名&#8221;设为启用</p>
<p>6、在安全设置-本地策略-用户权利分配中将&#8220;从网络访问此计算机&#8221;中只保留Internet来宾账户、启动IIS进程账户。如果你使用了Asp.net还要保留Aspnet账户。</p>
<p>7、创建一个User账户，运行系统，如果要运行特权命令使用Runas命令。</p>
<p>三、网络服务安全管理</p>
<p>1、禁止C$、D$、ADMIN$一类的缺省共享</p>
<p>打开注册表，HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters，在右边的窗口中新建Dword值，名称设为AutoShareServer值设为0</p>
<p>2、 解除NetBios与TCP/IP协议的绑定</p>
<p>右击网上邻居-属性-右击本地连接-属性-双击Internet协议-高级-Wins-禁用TCP/IP上的NETBIOS</p>
<p>3、关闭不需要的服务，以下为建议选项</p>
<p>Computer Browser:维护网络计算机更新，禁用</p>
<p>Distributed File System: 局域网管理共享文件，不需要禁用</p>
<p>Distributed linktracking client：用于局域网更新连接信息，不需要禁用</p>
<p>Error reporting service：禁止发送错误报告</p>
<p>Microsoft Serch：提供快速的单词搜索，不需要可禁用</p>
<p>NTLMSecuritysupportprovide：telnet服务和Microsoft Serch用的，不需要禁用</p>
<p>PrintSpooler：如果没有打印机可禁用</p>
<p>Remote Registry：禁止远程修改注册表</p>
<p>Remote Desktop Help Session Manager：禁止远程协助</p>
<p>四、打开相应的审核策略</p>
<p>在运行中输入gpedit.msc回车，打开组策略编辑器，选择计算机配置-Windows设置-安全设置-审核策略在创建审核项目时需要注意的是如果审核的项目太多，生成的事件也就越多，那么要想发现严重的事件也越难当然如果审核的太少也会影响你发现严重的事件，你需要根据情况在这二者之间做出选择。</p>
<p>推荐的要审核的项目是：</p>
<p>登录事件 成功 失败</p>
<p>账户登录事件 成功 失败</p>
<p>系统事件 成功 失败</p>
<p>策略更改 成功 失败</p>
<p>对象访问 失败</p>
<p>目录服务访问 失败</p>
<p>特权使用 失败</p>
<p>五、其它安全相关设置</p>
<p>1、隐藏重要文件/目录</p>
<p>可以修改注册表实现完全隐藏：&#8220;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL&#8221;，鼠标右击 &#8220;CheckedValue&#8221;，选择修改，把数值由1改为0</p>
<p>2、启动系统自带的Internet连接防火墙，在设置服务选项中勾选Web服务器。</p>
<p>3、防止SYN洪水攻击</p>
<p>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters</p>
<p>新建DWORD值，名为SynAttackProtect，值为2</p>
<p>4. 禁止响应ICMP路由通告报文</p>
<p>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface</p>
<p>新建DWORD值，名为PerformRouterDiscovery 值为0</p>
<p>5. 防止ICMP重定向报文的攻击</p>
<p>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters</p>
<p>将EnableICMPRedirects 值设为0</p>
<p>6. 不支持IGMP协议</p>
<p>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters</p>
<p>新建DWORD值，名为IGMPLevel 值为0</p>
<p>7、禁用DCOM：</p>
<p>运行中输入 Dcomcnfg.exe。 回车， 单击&#8220;控制台根节点&#8221;下的&#8220;组件服务&#8221;。 打开&#8220;计算机&#8221;子文件夹。</p>
<p>对于本地计算机，请以右键单击&#8220;我的电脑&#8221;，然后选择&#8220;属性&#8221;。选择&#8220;默认属性&#8221;选项卡。</p>
<p>清除&#8220;在这台计算机上启用分布式 COM&#8221;复选框。</p>
<p>注：3-6项内容我采用的是Server2000设置，没有测试过对2003是否起作用。但有一点可以肯定我用了一段的时间没有发现其它副面的影响。</p>
<p>六、配置 IIS 服务：</p>
<p>1、不使用默认的Web站点，如果使用也要将 将IIS目录与系统磁盘分开。</p>
<p>2、删除IIS默认创建的Inetpub目录（在安装系统的盘上）。</p>
<p>3、删除系统盘下的虚拟目录，如：_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC。</p>
<p>4、删除不必要的IIS扩展名映射。</p>
<p>右键单击&#8220;默认Web站点&#8594;属性&#8594;主目录&#8594;配置&#8221;，打开应用程序窗口，去掉不必要的应用程序映射。主要为.shtml, .shtm, .stm</p>
<p>5、更改IIS日志的路径</p>
<p>右键单击&#8220;默认Web站点&#8594;属性-网站-在启用日志记录下点击属性</p>
<p>6、如果使用的是2000可以使用iislockdown来保护IIS，在2003运行的IE6.0的版本不需要。</p>
<p>7、使用UrlScan</p>
<p>UrlScan是一个ISAPI筛选器，它对传入的HTTP数据包进行分析并可以拒绝任何可疑的通信量。目前最新的版本是2.5，如果是2000Server需要先安装1.0或2.0的版本。下载地址见页未的链接</p>
<p>如果没有特殊的要求采用UrlScan默认配置就可以了。</p>
<p>但如果你在服务器运行ASP.NET程序，并要进行调试你需打开要%WINDIR%\System32\Inetsrv\URLscan</p>
<p>文件夹中的URLScan.ini 文件，然后在UserAllowVerbs节添加debug谓词，注意此节是区分大小写的。</p>
<p>如果你的网页是.asp网页你需要在DenyExtensions删除.asp相关的内容。</p>
<p>如果你的网页使用了非ASCII代码，你需要在Option节中将AllowHighBitCharacters的值设为1</p>
<p>在对URLScan.ini 文件做了更改后，你需要重启IIS服务才能生效，快速方法运行中输入iisreset</p>
<p>如果你在配置后出现什么问题，你可以通过添加/删除程序删除UrlScan。</p>
<p>8、利用WIS (Web Injection Scanner)工具对整个网站进行SQL Injection 脆弱性扫描.</p>
<p>下载地址：[http://www.fanvb.net/websample/othersample.aspx]VB.NET爱好者[/url]</p>
<p><br>七、配置Sql服务器</p>
<p>1、System Administrators 角色最好不要超过两个</p>
<p>2、如果是在本机最好将身份验证配置为Win登陆</p>
<p>3、不要使用Sa账户，为其配置一个超级复杂的密码</p>
<p>4、删除以下的扩展存储过程格式为： <br>use master <br>sp_dropextendedproc '扩展存储过程名'</p>
<p>xp_cmdshell：是进入操作系统的最佳捷径，删除</p>
<p>访问注册表的存储过程，删除 <br>Xp_regaddmultistringXp_regdeletekeyXp_regdeletevalueXp_regenumvalues <br>Xp_regread　 Xp_regwrite　 Xp_regremovemultistring</p>
<p>OLE自动存储过程，不需要删除 <br>Sp_OACreate　 　Sp_OADestroySp_OAGetErrorInfoSp_OAGetProperty <br>Sp_OAMethodSp_OASetPropertySp_OAStop</p>
<p>5、隐藏 SQL Server、更改默认的1433端口</p>
<p>右击实例选属性-常规-网络配置中选择TCP/IP协议的属性，选择隐藏 SQL Server 实例，并改原默认的1433端口。</p>
<p>八、如果只做服务器，不进行其它操作，使用IPSec</p>
<p>1、管理工具—本地安全策略—右击IP安全策略—管理IP筛选器表和筛选器操作—在管理IP筛选器表选项下点击</p>
<p>添加—名称设为Web筛选器—点击添加—在描述中输入Web服务器—将源地址设为任何IP地址——将目标地址设为我的IP地址——协议类型设为Tcp——IP协议端口第一项设为从任意端口，第二项到此端口80——点击完成——点击确定。</p>
<p>2、再在管理IP筛选器表选项下点击</p>
<p>添加—名称设为所有入站筛选器—点击添加—在描述中输入所有入站筛选—将源地址设为任何IP地址——将目标地址设为我的IP地址——协议类型设为任意——点击下一步——完成——点击确定。</p>
<p>3、在管理筛选器操作选项下点击添加——下一步——名称中输入阻止——下一步——选择阻止——下一步——完成——关闭管理IP筛选器表和筛选器操作窗口</p>
<p>4、右击IP安全策略——创建IP安全策略——下一步——名称输入数据包筛选器——下一步——取消默认激活响应原则——下一步——完成</p>
<p>5、在打开的新IP安全策略属性窗口选择添加——下一步——不指定隧道——下一步——所有网络连接——下一步——在IP筛选器列表中选择新建的 Web筛选器——下一步——在筛选器操作中选择许可——下一步——完成——在IP筛选器列表中选择新建的阻止筛选器——下一步——在筛选器操作中选择阻止 ——下一步——完成——确定</p>
<p>6、在IP安全策略的右边窗口中右击新建的数据包筛选器，点击指派，不需要重启，IPSec就可生效.</p>
<p>九、建议</p>
<p>如果你按本文去操作，建议每做一项更改就测试一下服务器，如果有问题可以马上撤消更改。而如果更改的项数多，才发现出问题，那就很难判断问题是出在哪一步上了。</p>
<p>十、运行服务器记录当前的程序和开放的端口</p>
<p>1、将当前服务器的进程抓图或记录下来，将其保存，方便以后对照查看是否有不明的程序。</p>
<p>2、将当前开放的端口抓图或记录下来，保存，方便以后对照查看是否开放了不明的端口。当然如果你能分辨每一个进程，和端口这一步可以省略。</p>
</div>
<img src ="http://www.cppblog.com/issayandfaye/aggbug/110340.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/issayandfaye/" target="_blank">iZ</a> 2010-03-23 12:10 <a href="http://www.cppblog.com/issayandfaye/archive/2010/03/23/110340.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的Visual Studio2005 偏好设置</title><link>http://www.cppblog.com/issayandfaye/archive/2010/03/22/110282.html</link><dc:creator>iZ</dc:creator><author>iZ</author><pubDate>Mon, 22 Mar 2010 03:09:00 GMT</pubDate><guid>http://www.cppblog.com/issayandfaye/archive/2010/03/22/110282.html</guid><wfw:comment>http://www.cppblog.com/issayandfaye/comments/110282.html</wfw:comment><comments>http://www.cppblog.com/issayandfaye/archive/2010/03/22/110282.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/issayandfaye/comments/commentRss/110282.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/issayandfaye/services/trackbacks/110282.html</trackback:ping><description><![CDATA[<p>1.设置Visual Studio 项目位置<br>工具-&gt;选项 -&gt; 项目和解决方案 -&gt; 设置Visual Studio 项目位置 -&gt; G:Workspace</p>
<p>2.启用行号<br>工具-&gt;选项 -&gt; 文本编辑器 -&gt; C# -&gt; 常规 -&gt; 行号</p>
<p>3.格式设置<br>工具-&gt;选项 -&gt; 文本编辑器 -&gt; C# -&gt; 格式设置 -&gt; 间距 </p>
<p>4.将制表符TAB改为4个空格符<br>工具-&gt;选项 -&gt; 文本编辑器 -&gt; C# -&gt; 制表符 -&gt; 插入空格</p>
<p>5.设置Windows窗体的GridSize。<br>工具-&gt;选项 -&gt; Windows 窗体设计器 -&gt; 常规 设置为: 4, 4</p>
<p>6.设置Web项目文件缓存<br>项目-&gt;Web设置-&gt;Web项目文件缓存的位置</p>
<img src ="http://www.cppblog.com/issayandfaye/aggbug/110282.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/issayandfaye/" target="_blank">iZ</a> 2010-03-22 11:09 <a href="http://www.cppblog.com/issayandfaye/archive/2010/03/22/110282.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IIS6 won't start - Error： 2147500034 的解决办法</title><link>http://www.cppblog.com/issayandfaye/archive/2010/03/19/110080.html</link><dc:creator>iZ</dc:creator><author>iZ</author><pubDate>Fri, 19 Mar 2010 03:08:00 GMT</pubDate><guid>http://www.cppblog.com/issayandfaye/archive/2010/03/19/110080.html</guid><wfw:comment>http://www.cppblog.com/issayandfaye/comments/110080.html</wfw:comment><comments>http://www.cppblog.com/issayandfaye/archive/2010/03/19/110080.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/issayandfaye/comments/commentRss/110080.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/issayandfaye/services/trackbacks/110080.html</trackback:ping><description><![CDATA[<p>使用VS2005无法创建ASP.NET web 服务，</p>
<p>查看IIS管理器发现WORLD WIDE WEB PUBLISHING SERVICE未能启动。</p>
<p>检查程序依赖，其他组件均正常工作。</p>
<p>手动启动WORLD WIDE WEB PUBLISHING SERVICE，出现错误提示</p>
<p>查看EVENT VIEWER，发现ERROR信息：</p>
<p>The World Wide Web Publishing Service service terminated with service-specific error 2147500034 (0x80004002).</p>
<p>For more information, see Help and Support Center at <a href="http://go.microsoft.com/fwlink/events.asp">http://go.microsoft.com/fwlink/events.asp</a>.</p>
<p>----------------</p>
<p>解决办法：</p>
<p>Start, run: regsvr32 c:\windows\system32\oleaut32.dll</p>
<img src ="http://www.cppblog.com/issayandfaye/aggbug/110080.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/issayandfaye/" target="_blank">iZ</a> 2010-03-19 11:08 <a href="http://www.cppblog.com/issayandfaye/archive/2010/03/19/110080.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WMS简介</title><link>http://www.cppblog.com/issayandfaye/archive/2010/03/18/110029.html</link><dc:creator>iZ</dc:creator><author>iZ</author><pubDate>Thu, 18 Mar 2010 09:36:00 GMT</pubDate><guid>http://www.cppblog.com/issayandfaye/archive/2010/03/18/110029.html</guid><wfw:comment>http://www.cppblog.com/issayandfaye/comments/110029.html</wfw:comment><comments>http://www.cppblog.com/issayandfaye/archive/2010/03/18/110029.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/issayandfaye/comments/commentRss/110029.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/issayandfaye/services/trackbacks/110029.html</trackback:ping><description><![CDATA[<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">目前市面上有多种基于互联网的在线地图服务，但是这些服务在互操作接口上缺少相应的行业规范，从而导致了</span><font face=Calibri>Web</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">地图服务的互操作的困难性。在</span><font face=Calibri>GIS</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">行业日渐蓬勃的今天，为了解决这个问题，</span><font face=Calibri>GIS</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">行业最主要的规范的制定者：</span><font face=Calibri>Open Geospatial Consortium</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，开发了基于</span><font face=Calibri>WEB</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">地图服务的互操作规范——</span><font face=Calibri>Web Map Service</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。</span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Web Map Service</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">主要用于提供共享地图数据服务，能动态地响应客户程序的请求，将用户请求处理，转换成便于用户直观理解的地图图像、指定坐标点的要素信息、以及地图的功能说明信息。</span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Web Map Service</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">规范主要定义了三个结构的操作，</span><font face=Calibri>GetCapbilities</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">、</span><font face=Calibri>GetMap</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">、</span><font face=Calibri>GetFeatureInfo</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。其中，前两个接口是必须实现的。</span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>---------------------------------------------------------------------------------------------------------------------------------</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>GetCapbilities</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">接口用于查询</span><font face=Calibri>WMS</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">服务范围的信息，包括支持的服务、支持的格式、空间坐标、地图列表、地图样式等。它主要的目的是使客户端在使用</span><font face=Calibri>GetMap</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">请求前可以对</span><font face=Calibri>WMS</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">服务有一个大概的了解，从而设置正确的参数。</span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><font face=Calibri>GetCapbilities</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">请求样例如下所示：</span><font face=Calibri><a href="http://xxx.com/geoserver/awms?version=x.x.x&amp;request">http://xxx.com/geoserver/awms?version=x.x.x&amp;request</a>= getcapbilities</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。返回是一个</span><font face=Calibri>XML</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">文件，包括</span><font face=Calibri>Service</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">、</span><font face=Calibri>Capability</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">等部分，详细信息可以查看返回</span><font face=Calibri>XML</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">文件。</span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><font face=Calibri>GetCapabilities</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的具体请求参数如下表：</span></p>
<p><img src="http://www.cppblog.com/images/cppblog_com/issayandfaye/1.JPG" border=0></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>---------------------------------------------------------------------------------------------------------------------------------</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><font face=Calibri>GetMap</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">接口用于向服务器请求一张地图图像数据。在它的请求中，可以控制地图的图层、图层绘制的样式、指定地图的坐标投影代码、控制请求地图的范围、像素宽度和高度、以及返回</span><span lang=ZH-CN><font face=Calibri> </font></span><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">地图图像的格式。</span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><font face=Calibri>GetMap</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的请求样例如下所示：</span><font face=Calibri>http://xxx.com/geoservice/wms?version=x.x.x&amp;request=getmap&amp;layers=topp:states&amp;styles=population&amp;SRS=EPSG:4326&amp;bbox=-125,24,-67,50&amp;width=400height=200&amp;format=image/png</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">如果参数设置错误，将返回一个</span><font face=Calibri>XML</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">文件来描述错误信息。如下所示：</span><font face=Calibri>&lt;ServiceExceptionReport vertion=&#8221;x.x.x&#8221;&gt;</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><font face=Calibri><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;ServiceException code=&#8221;&#8221;&gt;</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><font face=Calibri><span style="mso-tab-count: 3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>WIDTH and HEIGHT incorrectly specified</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><font face=Calibri><span style="mso-tab-count: 2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/ServiceException&gt;</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><font face=Calibri><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/ServiceExceptionReport&gt;</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><font face=Calibri>GetMap</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的请求参数描述如表所示：</span></p>
<p>&nbsp;</p>
<p><img src="http://www.cppblog.com/images/cppblog_com/issayandfaye/2.JPG" border=0></p>
<p>&nbsp;</p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>---------------------------------------------------------------------------------------------------------------------------------</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>GetFeatureInfo</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">它是一个可选操作，接口用于查询用户指定对象的属性信息。它的实现依赖于客户程序在</span><font face=Calibri>WMS</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">服务器在先前返回的地图。只有用户指定了该地图的某一空间实体，并且该实体所在图层具有</span><font face=Calibri>queryable=&#8221;1&#8221;</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">属性才能支持该请求。如果一个</span><font face=Calibri>WMS</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">不支持该请求，则会返回一个</span><font face=Calibri>XML</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">文件描述错误信息。</span><span lang=ZH-CN><font face=Calibri> </font></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>GetFeatureInfo</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的请求样例如下所示：</span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>http://xxx.com/geoserver.wms?version=x.x.x&amp;request=getfeatureinfo&amp;layers=topp:states&amp;styles=population&amp;SRS=EPSG:4326&amp;bbox=-125,24,-67,50&amp;width=400height=200&amp;format=text/html&amp;query_layers=topp:states</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。</span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span style="mso-tab-count: 1"><font face=Calibri>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">此请求返回一个</span><font face=Calibri>HTML</font><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">文档来描述对象，如下所示：</span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>Results for FeatureType &#8216;states&#8217;:</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=ZH-CN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">——————————</span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>The_geom<span style="mso-spacerun: yes">&nbsp; </span>= [GEOMETRY(Multipolyon) with 153 points]</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>STATE_NAME<span style="mso-spacerun: yes">&nbsp; </span>= Beijing</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>STATE_FIPS = 04</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>SUB_REGION = Mtn</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>STATE_ABBR = AZ</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>LAND_KM = 294333.462</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>WATER_KM = 942.772</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>PERSONS = 3665228.0</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>FAMILIES = 940106.0</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>HOUSHOLD = 1368843.0</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>MALE = 1810691.0</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>FEMALE = 1854537.0</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>WORKERS = 1358263.0</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>DRVALONE = 1178320.0</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>CARPOOL = 239083.0</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>PUBTRANS = 32856.0</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>EMPLOYED = 1603896.0</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>UNEMPLOY = 123902.0</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>SERVICE = 455896.0</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>MANUAL = 185109.0</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>P_MALE = 0.494</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>P_FEMALE = 0.506</font></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><font face=Calibri>SAMP_POP = 468178.0</font></p>
<div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 1pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-element: para-border-div; mso-border-bottom-alt: solid windowtext .75pt">
<p class=MsoNormal style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .75pt; mso-padding-alt: 0cm 0cm 1.0pt 0cm"><o:p><font face=Calibri>&nbsp;</font></o:p></p>
</div>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p><font face=Calibri>&nbsp;</font></o:p></p>
<img src ="http://www.cppblog.com/issayandfaye/aggbug/110029.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/issayandfaye/" target="_blank">iZ</a> 2010-03-18 17:36 <a href="http://www.cppblog.com/issayandfaye/archive/2010/03/18/110029.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用批处理实现局域网IP快速同步</title><link>http://www.cppblog.com/issayandfaye/archive/2010/03/18/109957.html</link><dc:creator>iZ</dc:creator><author>iZ</author><pubDate>Thu, 18 Mar 2010 01:17:00 GMT</pubDate><guid>http://www.cppblog.com/issayandfaye/archive/2010/03/18/109957.html</guid><wfw:comment>http://www.cppblog.com/issayandfaye/comments/109957.html</wfw:comment><comments>http://www.cppblog.com/issayandfaye/archive/2010/03/18/109957.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/issayandfaye/comments/commentRss/109957.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/issayandfaye/services/trackbacks/109957.html</trackback:ping><description><![CDATA[<p>@echo off<br>color 27<br>echo --------------------------------------------------------<br>echo -------------------局域网IP同步小助手-------------------<br>echo -------------------------------------------by Issay-----<br>:main<br>echo ------------输入"y"同步局域网IP&nbsp; -----------------★★★<br>echo ------------输入"n"取消IP同步---------------------★★★<br>echo ------------输入"q"退出---------------------------★★★<br>SET /P choice=请选择操作项: <br>if /i '%choice:~0,1%'=='y' goto start<br>if /i '%choice:~0,1%'=='n' goto stop<br>if /i '%choice:~0,1%'=='q' exit<br>goto main</p>
<p>:start<br>echo ...<br>netsh interface ip set address "本地连接" static 192.168.2.41 255.255.255.0<br>echo Mission Completed!<br>pause<br>exit</p>
<p>:stop<br>echo ...<br>netsh interface ip set address name = "本地连接" source = dhcp<br>echo Mission Completed!<br>pause<br>exit<br></p>
<img src ="http://www.cppblog.com/issayandfaye/aggbug/109957.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/issayandfaye/" target="_blank">iZ</a> 2010-03-18 09:17 <a href="http://www.cppblog.com/issayandfaye/archive/2010/03/18/109957.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VMware小助手，做了一些小的调整。若不能适用某个版本请留言，我会做相应的修正。</title><link>http://www.cppblog.com/issayandfaye/archive/2010/03/17/109877.html</link><dc:creator>iZ</dc:creator><author>iZ</author><pubDate>Wed, 17 Mar 2010 02:50:00 GMT</pubDate><guid>http://www.cppblog.com/issayandfaye/archive/2010/03/17/109877.html</guid><wfw:comment>http://www.cppblog.com/issayandfaye/comments/109877.html</wfw:comment><comments>http://www.cppblog.com/issayandfaye/archive/2010/03/17/109877.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/issayandfaye/comments/commentRss/109877.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/issayandfaye/services/trackbacks/109877.html</trackback:ping><description><![CDATA[<p style="FONT-FAMILY: 宋体"><font color=#ff0000 size=3>文中的虚拟网卡禁用功能，使用了微软DevCon 设备控制工具，下载地址：</font><a href="http://support.microsoft.com/kb/311272/zh-cn"><font color=#ff0000 size=3><u>http://support.microsoft.com/kb/311272/zh-cn</u></font></a></p>
<p style="FONT-FAMILY: 宋体"><font color=#ff0000>解压相应操作系统的.EXE文件，至批处理文件同目录下即可。</font></p>
<p style="FONT-FAMILY: 宋体"><u></u></p>
<p style="FONT-FAMILY: 宋体"><font color=#ff0000 size=3>功能：</font></p>
<p style="FONT-FAMILY: 宋体"><font color=#ff0000 size=3>禁用/启用 虚拟机相关服务</font></p>
<p style="FONT-FAMILY: 宋体"><font color=#ff0000 size=3>关闭/启动 虚拟机相关服务</font></p>
<p style="FONT-FAMILY: 宋体"><font color=#ff0000 size=3>关闭/启动 虚拟机相关程序</font></p>
<p><font color=#ff0000 size=3>禁用/启用 虚拟网卡</font></p>
<p>@echo off<br>color 27<br>echo --------------------------------------------------------<br>echo ----------------------VMware小助手----------------------<br>echo -------------------------------------------by Issay-----<br>echo --------------------------------------------------------<br>echo ------------输入"r"开启虚拟机服务-----------------★★★<br>echo ------------输入"s"关闭虚拟机服务-----------------★★★<br>echo --------------------------------------------------★★★<br>SET /P choice=请选择操作项: <br>if /i '%choice:~0,1%'=='r' goto start<br>if /i '%choice:~0,1%'=='s' goto stop<br>exit</p>
<p>:start<br>echo -----------------------------------------------------------<br>echo 正在安装虚拟机相关服务<br>sc config VMAuthdService start= auto<br>sc config VMnetDHCP start= auto<br>sc config "VMware NAT Service" start= auto<br>echo ...<br>echo finished！<br>echo -----------------------------------------------------------<br>echo 正在启动虚拟机相关服务<br>echo ...<br>net start VMAuthdService<br>net start VMnetDHCP<br>net start "VMware NAT Service"<br>echo ...<br>echo finished！<br>echo -----------------------------------------------------------<br>echo 正在启动虚拟机相关程序<br>echo ...<br>start "D:\VMware Workstation\vmnat.exe"<br>start "D:\VMware Workstation\VMnetDHCP.exe"<br>start "D:\VMware Workstation\vmware-authd.exe"<br>echo ...<br>echo finished！ <br>echo -----------------------------------------------------------<br>echo 正在启用虚拟网络<br>echo ...<br>devcon.exe enable *vmnetadapter1<br>devcon.exe enable *vmnetadapter8<br>echo ...<br>echo finished！<br>echo -----------------------------------------------------------<br>echo ---------虚拟机准备完毕，请启动程序-----------<br>echo -------------------请按任意键退出-------------------<br>echo -----------------------------------------------------------<br>pause<br>exit</p>
<p>:stop<br>echo -----------------------------------------------------------<br>echo 正在结束虚拟机相关程序<br>echo ...<br>taskkill /f /t /im vmnat.exe<br>taskkill /f /t /im vmnetdhcp.exe<br>taskkill /f /t /im vmware-authd.exe<br>echo ...<br>echo finished！<br>echo -----------------------------------------------------------<br>echo 正在关闭虚拟机相关服务<br>echo ...<br>net stop VMAuthdService<br>echo ...<br>echo finished！<br>echo -----------------------------------------------------------<br>echo 正在卸载虚拟机相关服务<br>echo...<br>sc config VMAuthdService start= disabled<br>sc config VMnetDHCP start= disabled<br>sc config "VMware NAT Service" start= disabled<br>echo ...<br>echo finished！ <br>echo -----------------------------------------------------------<br>echo 正在禁用虚拟网络<br>echo ...<br>devcon.exe disable *vmnetadapter1<br>devcon.exe disable *vmnetadapter8<br>echo ...<br>echo finished！<br>echo -----------------------------------------------------------<br>echo --------WMware优化完毕！---------<br>echo -------------------请按任意键退出-------------------<br>echo -----------------------------------------------------------<br>pause<br>exit </p>
<img src ="http://www.cppblog.com/issayandfaye/aggbug/109877.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/issayandfaye/" target="_blank">iZ</a> 2010-03-17 10:50 <a href="http://www.cppblog.com/issayandfaye/archive/2010/03/17/109877.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>骆驼命名法，帕斯卡命名法和匈牙利命名法</title><link>http://www.cppblog.com/issayandfaye/archive/2010/03/11/109424.html</link><dc:creator>iZ</dc:creator><author>iZ</author><pubDate>Thu, 11 Mar 2010 05:21:00 GMT</pubDate><guid>http://www.cppblog.com/issayandfaye/archive/2010/03/11/109424.html</guid><wfw:comment>http://www.cppblog.com/issayandfaye/comments/109424.html</wfw:comment><comments>http://www.cppblog.com/issayandfaye/archive/2010/03/11/109424.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cppblog.com/issayandfaye/comments/commentRss/109424.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/issayandfaye/services/trackbacks/109424.html</trackback:ping><description><![CDATA[<p><span class=Apple-style-span style="FONT-SIZE: 13px; LINE-HEIGHT: 19px; FONT-FAMILY: Verdana; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px">简单的说<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">MyData 就是一个帕斯卡命名法<br style="LINE-HEIGHT: normal">而myData是一个骆驼命名法,它第一个单词的第一个字母小写,后面的单词首字母大写,看起来像一个骆驼<br style="LINE-HEIGHT: normal">而iMyData是一个匈牙利命名法,它的小写的i说明了它的形态,后面的和帕斯卡命名相同,指示了该变量的用途.</span></p>
<p>&nbsp;</p>
<p align=left><span class=Apple-style-span style="FONT-SIZE: 13px; LINE-HEIGHT: 19px; FONT-FAMILY: Verdana; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px"><font style="LINE-HEIGHT: normal" size=3>一、匈牙利命名法</font>：广泛应用于象Microsoft Windows这样的环境中。<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Windows 编程中用到的变量（还包括宏）的命名规则匈牙利命名法，这种命名技术是由一位 Microsoft 程序员查尔斯&#183;西蒙尼(Charles Simonyi) 提出的。<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀，标识出变量的作用域，类型等。这些符号可以多个同时使用，顺序是先m_（成员变量），再指针，再简单数据类型，再其他。例如：m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp; 匈牙利命名法关键是：标识符的名字以一个或者多个小写字母开头作为前缀；前缀之后的是首字母大写的一个单词或多个单词组合，该单词要指明变量的用途。<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">匈牙利命名法中常用的小写字母的前缀：<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">前　缀&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 类　　型<br style="LINE-HEIGHT: normal">a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数组 (Array)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 布尔值 (Boolean)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">by&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 字节 (Byte)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有符号字符 (Char)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">cb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 无符号字符 (Char Byte，没有多少人用)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">cr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 颜色参考值 (ColorRef)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">cx,cy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 坐标差（长度 ShortInt）&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">dw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Double Word&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">fn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 函数&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Handle（句柄）&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 整型&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 长整型 (Long Int)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">lp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Long Pointer&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">m_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 类的成员&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 短整型 (Short Int)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">np&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Near Pointer&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">p&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Pointer&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 字符串型&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">sz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以null做结尾的字符串型 (String with Zero End)&nbsp;&nbsp;<br style="LINE-HEIGHT: normal">w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Word&nbsp;&nbsp;<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal"><font style="LINE-HEIGHT: normal" size=3>二、骆驼命名法:</font><br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 骆驼式命令法，正如它的名称所表示的那样，是指混合使用大小写字母来构成变量和函数的名字。例如，下面是分别用骆驼式命名法和下划线法命名的同一个函数：<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp; printEmployeePaychecks()；<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp; print_employee_paychecks()；<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第一个函数名使用了骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记；第二个函数名使用了下划线法----函数名中的每一个逻辑断点都有一个下划线来标记。<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp; 骆驼式命名法近年来越来越流行了，在许多新的函数库和Microsoft<br style="LINE-HEIGHT: normal">Windows这样的环境中，它使用得当相多。另一方面，下划线法是c出现后开始流行起来的，在许多旧的程序和UNIX这样的环境中，它的使用非常普遍。<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal"><strong style="LINE-HEIGHT: normal"><font style="LINE-HEIGHT: normal" size=3>三、帕斯卡（pascal）命名法：</font></strong><br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 与骆驼命名法类似。只不过骆驼命名法是首字母小写，而帕斯卡命名法是首字母大写<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如：public void<br style="LINE-HEIGHT: normal">DisplayInfo();<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string UserName;<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 二者都是采用了帕斯卡命名法.<br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal"><br style="LINE-HEIGHT: normal">在C#中，以帕斯卡命名法和骆驼命名法居多。<br style="LINE-HEIGHT: normal"></p>
</span>
<p><span class=Apple-style-span style="FONT-SIZE: 13px; LINE-HEIGHT: 19px; FONT-FAMILY: Verdana; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px">转自<a href="http://www.zouyang.net/post/219.html">http://www.zouyang.net/post/219.html</a></p>
</span>
<img src ="http://www.cppblog.com/issayandfaye/aggbug/109424.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/issayandfaye/" target="_blank">iZ</a> 2010-03-11 13:21 <a href="http://www.cppblog.com/issayandfaye/archive/2010/03/11/109424.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>螺旋矩阵的算法</title><link>http://www.cppblog.com/issayandfaye/archive/2009/11/15/100976.html</link><dc:creator>iZ</dc:creator><author>iZ</author><pubDate>Sun, 15 Nov 2009 08:02:00 GMT</pubDate><guid>http://www.cppblog.com/issayandfaye/archive/2009/11/15/100976.html</guid><wfw:comment>http://www.cppblog.com/issayandfaye/comments/100976.html</wfw:comment><comments>http://www.cppblog.com/issayandfaye/archive/2009/11/15/100976.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cppblog.com/issayandfaye/comments/commentRss/100976.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/issayandfaye/services/trackbacks/100976.html</trackback:ping><description><![CDATA[<p>1 &nbsp; 2 &nbsp; 3 &nbsp; &nbsp; 4 <br>12 13 &nbsp;14&nbsp;&nbsp; 5 <br>11 16 &nbsp;15&nbsp;&nbsp; 6 <br>10 &nbsp;9 &nbsp; &nbsp;8 &nbsp; &nbsp;7&nbsp;&nbsp;</p>
<p>这种情况用模拟比较好推出，以1为坐标原点，一次递增，遇到边界则转向</p>
<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.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdio.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;MAX_SIZE&nbsp;100</span><span style="COLOR: #000000"><br><img id=Codehighlighter1_76_85_Open_Image onclick="this.style.display='none'; Codehighlighter1_76_85_Open_Text.style.display='none'; Codehighlighter1_76_85_Closed_Image.style.display='inline'; Codehighlighter1_76_85_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_76_85_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_76_85_Closed_Text.style.display='none'; Codehighlighter1_76_85_Open_Image.style.display='inline'; Codehighlighter1_76_85_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;intx[]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span id=Codehighlighter1_76_85_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.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_76_85_Open_Text><span style="COLOR: #000000">{</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">1</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">1</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">;<br><img id=Codehighlighter1_106_115_Open_Image onclick="this.style.display='none'; Codehighlighter1_106_115_Open_Text.style.display='none'; Codehighlighter1_106_115_Closed_Image.style.display='inline'; Codehighlighter1_106_115_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_106_115_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_106_115_Closed_Text.style.display='none'; Codehighlighter1_106_115_Open_Image.style.display='inline'; Codehighlighter1_106_115_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;inty[]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span id=Codehighlighter1_106_115_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.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_106_115_Open_Text><span style="COLOR: #000000">{</span><span style="COLOR: #000000">1</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">1</span><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.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()&nbsp;<br><img id=Codehighlighter1_130_731_Open_Image onclick="this.style.display='none'; Codehighlighter1_130_731_Open_Text.style.display='none'; Codehighlighter1_130_731_Closed_Image.style.display='inline'; Codehighlighter1_130_731_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_130_731_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_130_731_Closed_Text.style.display='none'; Codehighlighter1_130_731_Open_Image.style.display='inline'; Codehighlighter1_130_731_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_130_731_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.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_130_731_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;dir,i,j,n,data,x,y,nextx,nexty;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;arr[MAX_SIZE][MAX_SIZE];<br><img id=Codehighlighter1_207_219_Open_Image onclick="this.style.display='none'; Codehighlighter1_207_219_Open_Text.style.display='none'; Codehighlighter1_207_219_Closed_Image.style.display='inline'; Codehighlighter1_207_219_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_207_219_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_207_219_Closed_Text.style.display='none'; Codehighlighter1_207_219_Open_Image.style.display='inline'; Codehighlighter1_207_219_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_207_219_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_207_219_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">Read&nbsp;size</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">please&nbsp;input&nbsp;the&nbsp;size\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;scanf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">n);<br><img id=Codehighlighter1_282_289_Open_Image onclick="this.style.display='none'; Codehighlighter1_282_289_Open_Text.style.display='none'; Codehighlighter1_282_289_Closed_Image.style.display='inline'; Codehighlighter1_282_289_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_282_289_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_282_289_Closed_Text.style.display='none'; Codehighlighter1_282_289_Open_Image.style.display='inline'; Codehighlighter1_282_289_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_282_289_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_282_289_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">Init</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;x</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;y</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;dir</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;memset(arr,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(arr));<br><img id=Codehighlighter1_347_354_Open_Image onclick="this.style.display='none'; Codehighlighter1_347_354_Open_Text.style.display='none'; Codehighlighter1_347_354_Closed_Image.style.display='inline'; Codehighlighter1_347_354_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_347_354_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_347_354_Closed_Text.style.display='none'; Codehighlighter1_347_354_Open_Image.style.display='inline'; Codehighlighter1_347_354_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_347_354_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_347_354_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">fill</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(data</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;data</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">n</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">n;&nbsp;data</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_393_623_Open_Image onclick="this.style.display='none'; Codehighlighter1_393_623_Open_Text.style.display='none'; Codehighlighter1_393_623_Closed_Image.style.display='inline'; Codehighlighter1_393_623_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_393_623_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_393_623_Closed_Text.style.display='none'; Codehighlighter1_393_623_Open_Image.style.display='inline'; Codehighlighter1_393_623_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_393_623_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.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_393_623_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arr[x][y]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;data;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nextx</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;x</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">intx[dir];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nexty</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;y</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">inty[dir];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(arr[nextx][nexty]&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;nextx</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">n&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;nexty</span><span style="COLOR: #000000">&gt;=</span><span style="COLOR: #000000">n&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;nextx</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;nexty</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_540_580_Open_Image onclick="this.style.display='none'; Codehighlighter1_540_580_Open_Text.style.display='none'; Codehighlighter1_540_580_Closed_Image.style.display='inline'; Codehighlighter1_540_580_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_540_580_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_540_580_Closed_Text.style.display='none'; Codehighlighter1_540_580_Open_Image.style.display='inline'; Codehighlighter1_540_580_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_540_580_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.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_540_580_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dir</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(dir</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">)dir</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&nbsp;intx[dir];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&nbsp;inty[dir];<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">n;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_650_729_Open_Image onclick="this.style.display='none'; Codehighlighter1_650_729_Open_Text.style.display='none'; Codehighlighter1_650_729_Closed_Image.style.display='inline'; Codehighlighter1_650_729_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_650_729_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_650_729_Closed_Text.style.display='none'; Codehighlighter1_650_729_Open_Image.style.display='inline'; Codehighlighter1_650_729_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_650_729_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.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_650_729_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(j</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;j</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">n;&nbsp;j</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d\t</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,arr[i][j]);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">\n</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
<p>&nbsp;</p>
<p>如果碰到另外一种情况就麻烦多了</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21&nbsp; 22................<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20&nbsp; 7&nbsp; 8&nbsp; 9&nbsp; 10<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 19&nbsp; 6&nbsp; <span style="BACKGROUND-COLOR: yellow">1</span>&nbsp; 2&nbsp; 11<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18&nbsp; 5&nbsp; 4&nbsp; 3&nbsp; 12<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17&nbsp; 16 15 14 13<br><br>如果从中间开始模拟</p>
<p>从原点1开始，看方向的变化：右下左上；行走的步数：11223344&#8230;&#8230;</p>
<p>&nbsp;公式：n^2= 1+1+2+2+...+n-1+n-1+n（第一种情况也有用到）</p>
<p>有了公式，那就可以先算出最大的data是多少，这样又转换为第一种方法了。</p>
<p>如果没有公式，单纯对行为进行模拟难度很大，不过还是可以实现的。</p>
<p>现在暂时还没有想到实现的方法，想到以后再补充吧。<br>&nbsp;</p>
<img src ="http://www.cppblog.com/issayandfaye/aggbug/100976.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/issayandfaye/" target="_blank">iZ</a> 2009-11-15 16:02 <a href="http://www.cppblog.com/issayandfaye/archive/2009/11/15/100976.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>