﻿<?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++博客-cpp-primer-随笔分类-C/C++</title><link>http://www.cppblog.com/cpp-primer/category/8893.html</link><description /><language>zh-cn</language><lastBuildDate>Sat, 13 Dec 2008 05:08:31 GMT</lastBuildDate><pubDate>Sat, 13 Dec 2008 05:08:31 GMT</pubDate><ttl>60</ttl><item><title>const int *p,const * int p,int const *p</title><link>http://www.cppblog.com/cpp-primer/archive/2008/12/13/69328.html</link><dc:creator>Benson</dc:creator><author>Benson</author><pubDate>Sat, 13 Dec 2008 03:46:00 GMT</pubDate><guid>http://www.cppblog.com/cpp-primer/archive/2008/12/13/69328.html</guid><wfw:comment>http://www.cppblog.com/cpp-primer/comments/69328.html</wfw:comment><comments>http://www.cppblog.com/cpp-primer/archive/2008/12/13/69328.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cpp-primer/comments/commentRss/69328.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cpp-primer/services/trackbacks/69328.html</trackback:ping><description><![CDATA[<p>1 从const int i 说起 <br>&nbsp;&nbsp;&nbsp;&nbsp; 有了const修饰的ic 我们不称它为变量，而称符号常量，代表着20这个数。这就是const 的作用。ic是不能在它处重新赋新值了。<br>&nbsp;&nbsp;&nbsp;&nbsp; 认识了const 作用之后，另外，我们还要知道格式的写法。有两种：const int ic=20;与int const ic=20;。它们是完全相同的。这一点我们是要清楚。总之，你务必要记住const 与int哪个写前都不影响语义。有了这个概念后，我们来看这两个家伙：const int * pi与int const * pi ，按你的逻辑看，它们的语义有不同吗？呵呵，你只要记住一点，int 与const 哪个放前哪个放后都是一样的，就好比const int ic;与int const ic;一样。也就是说，它们是相同的。<br>&nbsp;&nbsp;&nbsp;&nbsp; 好了，我们现在已经搞定一个&#8220;双包胎&#8221;的问题。那么int * const pi与前两个式子又有什么不同呢？我下面就来具体分析它们的格式与语义吧！</p>
<p>2 const int * pi的语义<br>&nbsp;&nbsp;&nbsp;&nbsp; 我先来说说const int * pi是什么作用。看下面的例子：<br>int i1=30;<br>int i2=40;<br>const int * pi=&amp;i1;<br>pi=&amp;i2;&nbsp;&nbsp;&nbsp;&nbsp; //4.注意这里，pi可以在任意时候重新赋值一个新内存地址<br>i2=80;&nbsp;&nbsp;&nbsp;&nbsp; //5.想想看：这里能用*pi=80;来代替吗？当然不能<br>printf( &#8220;%d&#8221;, *pi ) ;&nbsp;&nbsp; //6.输出是80</p>
<p>语义分析：<br>&nbsp;&nbsp;&nbsp;&nbsp; 看出来了没有啊，pi的值是可以被修改的。即它可以重新指向另一个地址的，但是，不能通过*pi来修改i2的值。这个规则符合我们前面所讲的逻辑吗？当然符合了！<br>&nbsp;&nbsp;&nbsp;&nbsp; 首先const&nbsp;&nbsp; 修饰的是整个*pi（注意，我写的是*pi而不是pi）。所以*pi是常量，是不能被赋值的（虽然pi所指的i2是变量，不是常量）。<br>&nbsp;&nbsp;&nbsp;&nbsp; 其次，pi前并没有用const 修饰，所以pi是指针变量，能被赋值重新指向另一内存地址的。你可能会疑问：那我又如何用const 来修饰pi呢？其实，你注意到int * const pi中const 的位置就大概可以明白了。请记住，通过格式看语义。</p>
<p>3 再看int * const pi<br>&nbsp;&nbsp;&nbsp;&nbsp; 确实，int * const pi与前面的int const * pi会很容易给混淆的。注意：前面一句的const 是写在pi前和*号后的，而不是写在*pi前的。很显然，它是修饰限定pi的。我先让你看例子：<br>int i1=30;<br>int i2=40;<br>int * const pi=&amp;i1;<br>//pi=&amp;i2;&nbsp;&nbsp;&nbsp;&nbsp; 4.注意这里，pi不能再这样重新赋值了，即不能再指向另一个新地址。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //所以我已经注释了它。<br>i1=80;&nbsp;&nbsp;&nbsp;&nbsp; //5.想想看：这里能用*pi=80;来代替吗？可以，这里可以通过*pi修改i1的值。<br>&nbsp;&nbsp;&nbsp;&nbsp; //请自行与前面一个例子比较。<br>printf( &#8220;%d&#8221;, *pi ) ;&nbsp;&nbsp; //6.输出是80</p>
<p>语义分析：<br>&nbsp;&nbsp;&nbsp;&nbsp; 看了这段代码，你明白了什么？有没有发现pi值是不能重新赋值修改了。它只能永远指向初始化时的内存地址了。相反，这次你可以通过*pi来修改i1的值了。与前一个例子对照一下吧！看以下的两点分析<br>&nbsp;&nbsp;&nbsp;&nbsp; 1). pi因为有了const 的修饰，所以只是一个指针常量：也就是说pi值是不可修改的（即pi不可以重新指向i2这个变量了）(看第4行)。<br>&nbsp;&nbsp;&nbsp;&nbsp; 2). 整个*pi的前面没有const 的修饰。也就是说，*pi是变量而不是常量，所以我们可以通过*pi来修改它所指内存i1的值（看5行的注释）<br>&nbsp;&nbsp;&nbsp;&nbsp; 总之一句话，这次的pi是一个指向int变量类型数据的指针常量。</p>
<p>我最后总结两句：<br>&nbsp;&nbsp;&nbsp;&nbsp; 1).如果const 修饰在*pi前则不能改的是*pi而不是指pi。<br>&nbsp;&nbsp;&nbsp;&nbsp; 2).如果const 是直接写在pi前则pi不能改。</p>
<p>3.补充三种情况。<br>&nbsp;&nbsp;&nbsp;&nbsp; 这里，我再补充以下三种情况。其实只要上面的语义搞清楚了，这三种情况也就已经被包含了。不过作为三种具体的形式，我还是简单提一下吧！</p>
<p>情况一：int * pi指针指向const int i常量的情况<br>const int i1=40;<br>int *pi;<br>pi=&amp;i1;//这样可以吗？不行，VC下是编译错。<br>&nbsp;&nbsp;&nbsp;&nbsp; //const int 类型的i1的地址是不能赋值给指向int 类型地址的指针pi的。否则pi岂不是能修改i1的值了吗！<br>pi=(int* ) &amp;i1;　　//　这样可以吗？强制类型转换可是C所支持的。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //VC下编译通过，但是仍不能通过*pi=80来修改i1的值。去试试吧！看看具体的怎样。</p>
<p>情况二：const int * pi指针指向const int i1的情况<br>const int i1=40;<br>const int * pi;<br>pi=&amp;i1;//两个类型相同，可以这样赋值。很显然，i1的值无论是通过pi还是i1都不能修改的。</p>
<p>情况三：用const int * const pi申明的指针<br>int i<br>const int * const pi=&amp;i;//你能想象pi能够作什么操作吗？pi值不能改，也不能通过pi修改i的值。因为不管是*pi还是pi都是const的。</p>
<img src ="http://www.cppblog.com/cpp-primer/aggbug/69328.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cpp-primer/" target="_blank">Benson</a> 2008-12-13 11:46 <a href="http://www.cppblog.com/cpp-primer/archive/2008/12/13/69328.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>strlen()函数 （从VC库文件中提取） </title><link>http://www.cppblog.com/cpp-primer/archive/2008/11/21/67475.html</link><dc:creator>Benson</dc:creator><author>Benson</author><pubDate>Fri, 21 Nov 2008 04:39:00 GMT</pubDate><guid>http://www.cppblog.com/cpp-primer/archive/2008/11/21/67475.html</guid><wfw:comment>http://www.cppblog.com/cpp-primer/comments/67475.html</wfw:comment><comments>http://www.cppblog.com/cpp-primer/archive/2008/11/21/67475.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cpp-primer/comments/commentRss/67475.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cpp-primer/services/trackbacks/67475.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">***strlen.c&nbsp;-&nbsp;contains&nbsp;strlen()&nbsp;routine<br>*<br>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copyright&nbsp;(c)&nbsp;1985-1997,&nbsp;Microsoft&nbsp;Corporation.&nbsp;All&nbsp;rights&nbsp;reserved.<br>*<br>*Purpose:<br>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strlen&nbsp;returns&nbsp;the&nbsp;length&nbsp;of&nbsp;a&nbsp;null-terminated&nbsp;string,<br>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not&nbsp;including&nbsp;the&nbsp;null&nbsp;byte&nbsp;itself.<br>*<br>******************************************************************************</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><br>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">cruntime.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br>#include&nbsp;</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><br>#ifdef&nbsp;_MSC_VER<br>#pragma&nbsp;function(strlen)<br></span><span style="COLOR: #0000ff">#endif</span><span style="COLOR: #000000">&nbsp;&nbsp;/*&nbsp;_MSC_VER&nbsp;*/</span><span style="COLOR: #000000"><br><br></span><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">***strlen&nbsp;-&nbsp;return&nbsp;the&nbsp;length&nbsp;of&nbsp;a&nbsp;null-terminated&nbsp;string<br>*<br>*Purpose:<br>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Finds&nbsp;the&nbsp;length&nbsp;in&nbsp;bytes&nbsp;of&nbsp;the&nbsp;given&nbsp;string,&nbsp;not&nbsp;including<br>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;final&nbsp;null&nbsp;character.<br>*<br>*Entry:<br>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;char&nbsp;*&nbsp;str&nbsp;-&nbsp;string&nbsp;whose&nbsp;length&nbsp;is&nbsp;to&nbsp;be&nbsp;computed<br>*<br>*Exit:<br>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;length&nbsp;of&nbsp;the&nbsp;string&nbsp;"str",&nbsp;exclusive&nbsp;of&nbsp;the&nbsp;final&nbsp;null&nbsp;byte<br>*<br>*Exceptions:<br>*<br>******************************************************************************</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br><br>size_t&nbsp;__cdecl&nbsp;strlen&nbsp;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;str<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">eos&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;str;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">eos</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">&nbsp;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">(&nbsp;(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">)(eos&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;str&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)&nbsp;);<br>}</span></div>
<img src ="http://www.cppblog.com/cpp-primer/aggbug/67475.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cpp-primer/" target="_blank">Benson</a> 2008-11-21 12:39 <a href="http://www.cppblog.com/cpp-primer/archive/2008/11/21/67475.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Strcpy()函数  Strcat()函数 （从VC库文件中提取） </title><link>http://www.cppblog.com/cpp-primer/archive/2008/11/21/67474.html</link><dc:creator>Benson</dc:creator><author>Benson</author><pubDate>Fri, 21 Nov 2008 04:34:00 GMT</pubDate><guid>http://www.cppblog.com/cpp-primer/archive/2008/11/21/67474.html</guid><wfw:comment>http://www.cppblog.com/cpp-primer/comments/67474.html</wfw:comment><comments>http://www.cppblog.com/cpp-primer/archive/2008/11/21/67474.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cpp-primer/comments/commentRss/67474.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cpp-primer/services/trackbacks/67474.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_0_418_Open_Image onclick="this.style.display='none'; Codehighlighter1_0_418_Open_Text.style.display='none'; Codehighlighter1_0_418_Closed_Image.style.display='inline'; Codehighlighter1_0_418_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_0_418_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_418_Closed_Text.style.display='none'; Codehighlighter1_0_418_Open_Image.style.display='inline'; Codehighlighter1_0_418_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top><span id=Codehighlighter1_0_418_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_0_418_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">***strcat.c&nbsp;-&nbsp;contains&nbsp;strcat()&nbsp;and&nbsp;strcpy()<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copyright&nbsp;(c)&nbsp;1985-1997,&nbsp;Microsoft&nbsp;Corporation.&nbsp;All&nbsp;rights&nbsp;reserved.<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*Purpose:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Strcpy()&nbsp;copies&nbsp;one&nbsp;string&nbsp;onto&nbsp;another.<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Strcat()&nbsp;concatenates&nbsp;(appends)&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;source&nbsp;string&nbsp;to&nbsp;the<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;of&nbsp;the&nbsp;destination&nbsp;string,&nbsp;returning&nbsp;the&nbsp;destination&nbsp;string.<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>******************************************************************************</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">cruntime.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&nbsp;</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><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#ifndef&nbsp;_MBSCAT<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#ifdef&nbsp;_MSC_VER<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#pragma&nbsp;function(strcat,strcpy)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#endif</span><span style="COLOR: #000000">&nbsp;&nbsp;/*&nbsp;_MSC_VER&nbsp;*/</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#endif</span><span style="COLOR: #000000">&nbsp;&nbsp;/*&nbsp;_MBSCAT&nbsp;*/</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_574_1017_Open_Image onclick="this.style.display='none'; Codehighlighter1_574_1017_Open_Text.style.display='none'; Codehighlighter1_574_1017_Closed_Image.style.display='inline'; Codehighlighter1_574_1017_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_574_1017_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_574_1017_Closed_Text.style.display='none'; Codehighlighter1_574_1017_Open_Image.style.display='inline'; Codehighlighter1_574_1017_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_574_1017_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_574_1017_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">***char&nbsp;*strcat(dst,&nbsp;src)&nbsp;-&nbsp;concatenate&nbsp;(append)&nbsp;one&nbsp;string&nbsp;to&nbsp;another<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*Purpose:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Concatenates&nbsp;src&nbsp;onto&nbsp;the&nbsp;end&nbsp;of&nbsp;dest.&nbsp;&nbsp;Assumes&nbsp;enough<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;space&nbsp;in&nbsp;dest.<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*Entry:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;*dst&nbsp;-&nbsp;string&nbsp;to&nbsp;which&nbsp;"src"&nbsp;is&nbsp;to&nbsp;be&nbsp;appended<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;char&nbsp;*src&nbsp;-&nbsp;string&nbsp;to&nbsp;be&nbsp;appended&nbsp;to&nbsp;the&nbsp;end&nbsp;of&nbsp;"dst"<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*Exit:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;address&nbsp;of&nbsp;"dst"<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*Exceptions:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>******************************************************************************</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;__cdecl&nbsp;strcat&nbsp;(<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;dst,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;src<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br><img id=Codehighlighter1_1099_1339_Open_Image onclick="this.style.display='none'; Codehighlighter1_1099_1339_Open_Text.style.display='none'; Codehighlighter1_1099_1339_Closed_Image.style.display='inline'; Codehighlighter1_1099_1339_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1099_1339_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1099_1339_Closed_Text.style.display='none'; Codehighlighter1_1099_1339_Open_Image.style.display='inline'; Codehighlighter1_1099_1339_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_1099_1339_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_1099_1339_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;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;cp&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;dst;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">cp&nbsp;)<br><img id=Codehighlighter1_1188_1208_Open_Image onclick="this.style.display='none'; Codehighlighter1_1188_1208_Open_Text.style.display='none'; Codehighlighter1_1188_1208_Closed_Image.style.display='inline'; Codehighlighter1_1188_1208_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1188_1208_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1188_1208_Closed_Text.style.display='none'; Codehighlighter1_1188_1208_Open_Image.style.display='inline'; Codehighlighter1_1188_1208_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cp</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1188_1208_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_1188_1208_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">&nbsp;find&nbsp;end&nbsp;of&nbsp;dst&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_1251_1278_Open_Image onclick="this.style.display='none'; Codehighlighter1_1251_1278_Open_Text.style.display='none'; Codehighlighter1_1251_1278_Closed_Image.style.display='inline'; Codehighlighter1_1251_1278_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1251_1278_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1251_1278_Closed_Text.style.display='none'; Codehighlighter1_1251_1278_Open_Image.style.display='inline'; Codehighlighter1_1251_1278_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">cp</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">src</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">&nbsp;)&nbsp;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1251_1278_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_1251_1278_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">&nbsp;Copy&nbsp;src&nbsp;to&nbsp;end&nbsp;of&nbsp;dst&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_1321_1336_Open_Image onclick="this.style.display='none'; Codehighlighter1_1321_1336_Open_Text.style.display='none'; Codehighlighter1_1321_1336_Closed_Image.style.display='inline'; Codehighlighter1_1321_1336_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1321_1336_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1321_1336_Closed_Text.style.display='none'; Codehighlighter1_1321_1336_Open_Image.style.display='inline'; Codehighlighter1_1321_1336_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">(&nbsp;dst&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1321_1336_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_1321_1336_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">&nbsp;return&nbsp;dst&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_1343_1767_Open_Image onclick="this.style.display='none'; Codehighlighter1_1343_1767_Open_Text.style.display='none'; Codehighlighter1_1343_1767_Closed_Image.style.display='inline'; Codehighlighter1_1343_1767_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1343_1767_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1343_1767_Closed_Text.style.display='none'; Codehighlighter1_1343_1767_Open_Image.style.display='inline'; Codehighlighter1_1343_1767_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_1343_1767_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_1343_1767_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">***char&nbsp;*strcpy(dst,&nbsp;src)&nbsp;-&nbsp;copy&nbsp;one&nbsp;string&nbsp;over&nbsp;another<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*Purpose:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copies&nbsp;the&nbsp;string&nbsp;src&nbsp;into&nbsp;the&nbsp;spot&nbsp;specified&nbsp;by<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dest;&nbsp;assumes&nbsp;enough&nbsp;room.<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*Entry:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;*&nbsp;dst&nbsp;-&nbsp;string&nbsp;over&nbsp;which&nbsp;"src"&nbsp;is&nbsp;to&nbsp;be&nbsp;copied<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;char&nbsp;*&nbsp;src&nbsp;-&nbsp;string&nbsp;to&nbsp;be&nbsp;copied&nbsp;over&nbsp;"dst"<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*Exit:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;address&nbsp;of&nbsp;"dst"<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*Exceptions:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>******************************************************************************</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;__cdecl&nbsp;strcpy(</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;dst,&nbsp;</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;src)<br><img id=Codehighlighter1_1822_1962_Open_Image onclick="this.style.display='none'; Codehighlighter1_1822_1962_Open_Text.style.display='none'; Codehighlighter1_1822_1962_Closed_Image.style.display='inline'; Codehighlighter1_1822_1962_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1822_1962_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1822_1962_Closed_Text.style.display='none'; Codehighlighter1_1822_1962_Open_Image.style.display='inline'; Codehighlighter1_1822_1962_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_1822_1962_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_1822_1962_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;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;cp&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;dst;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">cp</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">src</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">&nbsp;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_1914_1936_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_1914_1936_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">&nbsp;Copy&nbsp;src&nbsp;over&nbsp;dst&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">(&nbsp;dst&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
<img src ="http://www.cppblog.com/cpp-primer/aggbug/67474.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cpp-primer/" target="_blank">Benson</a> 2008-11-21 12:34 <a href="http://www.cppblog.com/cpp-primer/archive/2008/11/21/67474.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Strcmp函数 （从VC库文件中提取）</title><link>http://www.cppblog.com/cpp-primer/archive/2008/11/21/67473.html</link><dc:creator>Benson</dc:creator><author>Benson</author><pubDate>Fri, 21 Nov 2008 04:29:00 GMT</pubDate><guid>http://www.cppblog.com/cpp-primer/archive/2008/11/21/67473.html</guid><wfw:comment>http://www.cppblog.com/cpp-primer/comments/67473.html</wfw:comment><comments>http://www.cppblog.com/cpp-primer/archive/2008/11/21/67473.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/cpp-primer/comments/commentRss/67473.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/cpp-primer/services/trackbacks/67473.html</trackback:ping><description><![CDATA[<p>&nbsp;</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 id=Codehighlighter1_0_311_Open_Image onclick="this.style.display='none'; Codehighlighter1_0_311_Open_Text.style.display='none'; Codehighlighter1_0_311_Closed_Image.style.display='inline'; Codehighlighter1_0_311_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_0_311_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_311_Closed_Text.style.display='none'; Codehighlighter1_0_311_Open_Image.style.display='inline'; Codehighlighter1_0_311_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top><span id=Codehighlighter1_0_311_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_0_311_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">***strcmp.c&nbsp;-&nbsp;routine&nbsp;to&nbsp;compare&nbsp;two&nbsp;strings&nbsp;(for&nbsp;equal,&nbsp;less,&nbsp;or&nbsp;greater)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copyright&nbsp;(c)&nbsp;1985-1997,&nbsp;Microsoft&nbsp;Corporation.&nbsp;All&nbsp;rights&nbsp;reserved.<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*Purpose:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compares&nbsp;two&nbsp;string,&nbsp;determining&nbsp;their&nbsp;lexical&nbsp;order.<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>******************************************************************************</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">cruntime.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&nbsp;</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><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#ifdef&nbsp;_MSC_VER<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#pragma&nbsp;function(strcmp)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#endif</span><span style="COLOR: #000000">&nbsp;&nbsp;/*&nbsp;_MSC_VER&nbsp;*/</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_422_1208_Open_Image onclick="this.style.display='none'; Codehighlighter1_422_1208_Open_Text.style.display='none'; Codehighlighter1_422_1208_Closed_Image.style.display='inline'; Codehighlighter1_422_1208_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_422_1208_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_422_1208_Closed_Text.style.display='none'; Codehighlighter1_422_1208_Open_Image.style.display='inline'; Codehighlighter1_422_1208_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_422_1208_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_422_1208_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">**<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*strcmp&nbsp;-&nbsp;compare&nbsp;two&nbsp;strings,&nbsp;returning&nbsp;less&nbsp;than,&nbsp;equal&nbsp;to,&nbsp;or&nbsp;greater&nbsp;than<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*Purpose:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STRCMP&nbsp;compares&nbsp;two&nbsp;strings&nbsp;and&nbsp;returns&nbsp;an&nbsp;integer<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;indicate&nbsp;whether&nbsp;the&nbsp;first&nbsp;is&nbsp;less&nbsp;than&nbsp;the&nbsp;second,&nbsp;the&nbsp;two&nbsp;are<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;equal,&nbsp;or&nbsp;whether&nbsp;the&nbsp;first&nbsp;is&nbsp;greater&nbsp;than&nbsp;the&nbsp;second.<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Comparison&nbsp;is&nbsp;done&nbsp;byte&nbsp;by&nbsp;byte&nbsp;on&nbsp;an&nbsp;UNSIGNED&nbsp;basis,&nbsp;which&nbsp;is&nbsp;to<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;say&nbsp;that&nbsp;Null&nbsp;(0)&nbsp;is&nbsp;less&nbsp;than&nbsp;any&nbsp;other&nbsp;character&nbsp;(1-255).<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*Entry:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;char&nbsp;*&nbsp;src&nbsp;-&nbsp;string&nbsp;for&nbsp;left-hand&nbsp;side&nbsp;of&nbsp;comparison<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;char&nbsp;*&nbsp;dst&nbsp;-&nbsp;string&nbsp;for&nbsp;right-hand&nbsp;side&nbsp;of&nbsp;comparison<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*Exit:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returns&nbsp;-1&nbsp;if&nbsp;src&nbsp;&lt;&nbsp;&nbsp;dst<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returns&nbsp;&nbsp;0&nbsp;if&nbsp;src&nbsp;==&nbsp;dst<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returns&nbsp;+1&nbsp;if&nbsp;src&nbsp;&gt;&nbsp;&nbsp;dst<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*Exceptions:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>*<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>******************************************************************************</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><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;__cdecl&nbsp;strcmp&nbsp;(<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;src,<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;dst<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br><img id=Codehighlighter1_1293_1557_Open_Image onclick="this.style.display='none'; Codehighlighter1_1293_1557_Open_Text.style.display='none'; Codehighlighter1_1293_1557_Closed_Image.style.display='inline'; Codehighlighter1_1293_1557_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_1293_1557_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1293_1557_Closed_Text.style.display='none'; Codehighlighter1_1293_1557_Open_Image.style.display='inline'; Codehighlighter1_1293_1557_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_1293_1557_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_1293_1557_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;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;ret&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(&nbsp;</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">&nbsp;(ret&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">(unsigned&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)src&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">(unsigned&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)dst)&nbsp;</span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">dst)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">src,&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">dst;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;ret&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;ret&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">&nbsp;)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ret&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">(&nbsp;ret&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div>
<img src ="http://www.cppblog.com/cpp-primer/aggbug/67473.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/cpp-primer/" target="_blank">Benson</a> 2008-11-21 12:29 <a href="http://www.cppblog.com/cpp-primer/archive/2008/11/21/67473.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>