﻿<?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++博客-Snow_斯诺-随笔分类-C/C++通用</title><link>http://www.cppblog.com/zhiyewang/category/21190.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 11 Mar 2016 06:10:17 GMT</lastBuildDate><pubDate>Fri, 11 Mar 2016 06:10:17 GMT</pubDate><ttl>60</ttl><item><title>在C代码中调用C++接口</title><link>http://www.cppblog.com/zhiyewang/archive/2016/03/10/212969.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Thu, 10 Mar 2016 07:16:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2016/03/10/212969.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/212969.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2016/03/10/212969.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/212969.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/212969.html</trackback:ping><description><![CDATA[一 在C源文件中调用C++封装的接口<br /><br />例如：<br /><br />要想在A.c文件中，调用生命在B.h，实现在B.cpp中的接口bool getMAC(char *mac_addr);<br /><br />其实现方法 B.cpp 如下：<br /><div style="font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; background-color: #eeeeee;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;B.cpp</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;3</span>&nbsp;#ifndef&nbsp;_cplusplus<br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #0000FF; ">#define</span>&nbsp;_cplusplus<br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">#endif</span><br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;#include&nbsp;&lt;stdio.h&gt;<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #0000FF; ">bool</span>&nbsp;getMAC(<span style="color: #0000FF; ">char</span>&nbsp;*mac_addr)<br /><span style="color: #008080; ">10</span>&nbsp;{<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;your&nbsp;code</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">13</span>&nbsp;}</div><br />B.h 头文件的声明为：<br /><br /><div style="font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all; background-color: #eeeeee;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;B.h</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;3</span>&nbsp;#ifndef&nbsp;_B_H<br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #0000FF; ">#define</span>&nbsp;_B_H<br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;#ifdef&nbsp;__cplusplus&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">__cplusplus是cpp中自定义的一个宏</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000FF; ">extern</span>&nbsp;"C"&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">告诉编译器，这部分代码按C语言的格式进行编译，而不是C++的</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; "></span><span style="color: #0000FF; ">#endif</span><br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;<br /><span style="color: #008080; ">10</span>&nbsp;<span style="color: #0000FF; ">bool</span>&nbsp;getMAC(<span style="color: #0000FF; ">char</span>&nbsp;*mac_addr);<br /><span style="color: #008080; ">11</span>&nbsp;<br /><span style="color: #008080; ">12</span>&nbsp;#ifdef&nbsp;__cplusplus<br /><span style="color: #008080; ">13</span>&nbsp;}<br /><span style="color: #008080; ">14</span>&nbsp;<span style="color: #0000FF; ">#endif</span>&nbsp;<br /><span style="color: #008080; ">15</span>&nbsp;<br /><span style="color: #008080; ">16</span>&nbsp;<span style="color: #0000FF; ">#endif</span></div><br />A.c 中正常调用即可<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;A.c&nbsp;</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #008000; "></span><br /><span style="color: #008080; ">&nbsp;3</span>&nbsp;#include&nbsp;"B.h"<br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;#include&nbsp;&lt;stdio.h&gt;<br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;main()<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;{<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">bool</span>&nbsp;bRet&nbsp;=&nbsp;<span style="color: #0000FF; ">false</span>;<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">char</span>&nbsp;chMac[16]&nbsp;=&nbsp;{0};<br /><span style="color: #008080; ">10</span>&nbsp;<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bRet&nbsp;=&nbsp;getMAC(chMac);<br /><span style="color: #008080; ">12</span>&nbsp;<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br /><span style="color: #008080; ">14</span>&nbsp;}</div><img src ="http://www.cppblog.com/zhiyewang/aggbug/212969.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2016-03-10 15:16 <a href="http://www.cppblog.com/zhiyewang/archive/2016/03/10/212969.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2014 C++头文件两个类相互包含</title><link>http://www.cppblog.com/zhiyewang/archive/2014/12/24/209290.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Wed, 24 Dec 2014 07:32:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2014/12/24/209290.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/209290.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2014/12/24/209290.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/209290.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/209290.html</trackback:ping><description><![CDATA[<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">在构造自己的类时，有可能会碰到两个类之间的相互引用问题，例如：定义了类A类B，A中使用了B定义的类型，B中也使用了A定义的类型</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">例如：</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">类CGUICmd中调用了类CMainFrame。</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">类CMainFrame中调用了类CGUICmd。<br />
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><pre style="border-bottom: #e1e1e8 1px solid; border-left: #e1e1e8 1px solid; padding-bottom: 10px; background-color: #f7f7f9; padding-left: 10px; padding-right: 10px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word; font-size: 13px; border-top: #e1e1e8 1px solid; border-right: #e1e1e8 1px solid; padding-top: 10px; tab-size: 4; box-shadow: #fbfbfc 40px 0px 0px inset, #ececf0 41px 0px 0px inset" class="prettyprint linenums prettyprinted"><div style="margin-top: 0px; padding-left: 0px; margin-bottom: 0px; color: #1e347b" class="linenums"><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L0"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">//////////////////////////////////////////////////////////////////////////</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L1"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">/// GUICmd.h</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L2"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp">&nbsp;</code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L3"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">#ifndef</span><span style="color: #48484c" class="pln"> _GUI_CMD_H</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L4"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">#define</span><span style="color: #48484c" class="pln"> _GUI_CMD_H</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L5"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp">&nbsp;</code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L6"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #1e347b" class="kwd">class</span><span style="color: #48484c" class="pln"> </span><span style="color: teal" class="typ">CGUICmd</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L7"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="pun">{</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L8"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #1e347b" class="kwd">public</span><span style="color: #93a1a1" class="pun">:</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L9"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #48484c" class="pln">    </span><span style="color: teal" class="typ">CGUICmd</span><span style="color: #93a1a1" class="pun">(</span><span style="color: #1e347b" class="kwd">void</span><span style="color: #93a1a1" class="pun">);</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L0"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #48484c" class="pln">    </span><span style="color: #93a1a1" class="pun">~</span><span style="color: teal" class="typ">CGUICmd</span><span style="color: #93a1a1" class="pun">(</span><span style="color: #1e347b" class="kwd">void</span><span style="color: #93a1a1" class="pun">);</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L1"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #48484c" class="pln">    </span><span style="color: teal" class="typ">int</span><span style="color: #48484c" class="pln"> </span><span style="color: teal" class="typ">Gui_GetMessage</span><span style="color: #93a1a1" class="pun">(</span><span style="color: #48484c" class="pln">HWND hWnd</span><span style="color: #93a1a1" class="pun">,</span><span style="color: #48484c" class="pln"> SOCKET sService</span><span style="color: #93a1a1" class="pun">,</span><span style="color: #48484c" class="pln"> </span><span style="color: teal" class="typ">int</span><span style="color: #48484c" class="pln"> bBlocking</span><span style="color: #93a1a1" class="pun">,</span><span style="color: #48484c" class="pln"> </span><span style="color: teal" class="typ">CMainFrame</span><span style="color: #93a1a1" class="pun">*</span><span style="color: #48484c" class="pln"> pFrame</span><span style="color: #93a1a1" class="pun">);</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L2"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp">&nbsp;</code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L3"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #1e347b" class="kwd">public</span><span style="color: #93a1a1" class="pun">:</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L4"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #48484c" class="pln">    SOCKET    sService</span><span style="color: #93a1a1" class="pun">;</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L5"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="pun">};</span></code></div></div></pre></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">
<div><pre style="border-bottom: #e1e1e8 1px solid; border-left: #e1e1e8 1px solid; padding-bottom: 10px; background-color: #f7f7f9; padding-left: 10px; padding-right: 10px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word; font-size: 13px; border-top: #e1e1e8 1px solid; border-right: #e1e1e8 1px solid; padding-top: 10px; tab-size: 4; box-shadow: #fbfbfc 40px 0px 0px inset, #ececf0 41px 0px 0px inset" class="prettyprint linenums prettyprinted"><div style="margin-top: 0px; padding-left: 0px; margin-bottom: 0px; color: #1e347b" class="linenums"><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L0"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">//////////////////////////////////////////////////////////////////////////</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L1"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">/// main_frame.h</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L2"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp">&nbsp;</code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L3"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">#ifndef</span><span style="color: #48484c" class="pln"> _MAIN_FRAME_H</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L4"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">#define</span><span style="color: #48484c" class="pln"> _MAIN_FRAME_H</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L5"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp">&nbsp;</code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L6"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #1e347b" class="kwd">class</span><span style="color: #48484c" class="pln"> </span><span style="color: teal" class="typ">CMainFrame</span><span style="color: #93a1a1" class="pun">:</span><span style="color: #1e347b" class="kwd">public</span><span style="color: #48484c" class="pln"> </span><span style="color: teal" class="typ">CXMLWnd</span><span style="color: #48484c" class="pln"> </span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L7"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="pun">{</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L8"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #1e347b" class="kwd">public</span><span style="color: #93a1a1" class="pun">:</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L9"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #48484c" class="pln">    </span><span style="color: teal" class="typ">CGUICmd</span><span style="color: #48484c" class="pln">             m_cGuiCmd</span><span style="color: #93a1a1" class="pun">;</span><span style="color: #48484c" class="pln">      </span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L0"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="pun">};</span></code></div></div></pre>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">
<div>
<div>不能单纯的再对方的源文件中互相包含头文件。</div></div></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">较好的方式：</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="line-height: 1.5; font-size: 10.5pt">main_frame.h 中#include "GUICmd.h",&nbsp;</span></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="line-height: 1.5; font-size: 10.5pt">CGUICmd.h 中加入一行：class CMainFrame;</span></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="line-height: 1.5; font-size: 10.5pt">CGUICmd.cpp 中#include "</span>main_frame<span style="line-height: 1.5; font-size: 10.5pt">.h</span><span style="line-height: 1.5; font-size: 10.5pt">"</span></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">
<div><pre style="border-bottom: #e1e1e8 1px solid; border-left: #e1e1e8 1px solid; padding-bottom: 10px; background-color: #f7f7f9; padding-left: 10px; padding-right: 10px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word; font-size: 13px; border-top: #e1e1e8 1px solid; border-right: #e1e1e8 1px solid; padding-top: 10px; tab-size: 4; box-shadow: #fbfbfc 40px 0px 0px inset, #ececf0 41px 0px 0px inset" class="prettyprint linenums prettyprinted"><div style="margin-top: 0px; padding-left: 0px; margin-bottom: 0px; color: #1e347b" class="linenums"><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L0"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">//////////////////////////////////////////////////////////////////////////</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L1"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">/// main_frame.h</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L2"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp">&nbsp;</code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L3"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">#ifndef</span><span style="color: #48484c" class="pln"> _MAIN_FRAME_H</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L4"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">#define</span><span style="color: #48484c" class="pln"> _MAIN_FRAME_H</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L5"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp">&nbsp;</code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L6"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">#pragma</span><span style="color: #48484c" class="pln"> once</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L7"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp">&nbsp;</code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L8"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">#include</span><span style="color: #48484c" class="pln"> </span><span style="color: #dd1144" class="str">"GUICmd.h"</span></code><span style="line-height: 1.5; font-family: 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; font-size: 10.5pt">&nbsp; &nbsp;&nbsp;</span></div></div></pre></div></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><pre style="border-bottom: #e1e1e8 1px solid; border-left: #e1e1e8 1px solid; padding-bottom: 10px; background-color: #f7f7f9; padding-left: 10px; padding-right: 10px; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word; font-size: 13px; border-top: #e1e1e8 1px solid; border-right: #e1e1e8 1px solid; padding-top: 10px; tab-size: 4; box-shadow: #fbfbfc 40px 0px 0px inset, #ececf0 41px 0px 0px inset" class="prettyprint linenums prettyprinted"><div style="margin-top: 0px; padding-left: 0px; margin-bottom: 0px; color: #1e347b" class="linenums"><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L0"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">//////////////////////////////////////////////////////////////////////////</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L1"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">/// GUICmd.cpp</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L2"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp">&nbsp;</code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L3"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">#include</span><span style="color: #48484c" class="pln"> </span><span style="color: #dd1144" class="str">"GUICmd.h"</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L4"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">#include</span><span style="color: #48484c" class="pln"> </span><span style="color: #dd1144" class="str">"main_frame.h"</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L5"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp">&nbsp;</code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L6"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp">&nbsp;</code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L7"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">//////////////////////////////////////////////////////////////////////////</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L8"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">/// GUICmd.h</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L9"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp">&nbsp;</code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L0"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">#ifndef</span><span style="color: #48484c" class="pln"> _GUI_CMD_H</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L1"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="com">#define</span><span style="color: #48484c" class="pln"> _GUI_CMD_H</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L2"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp">&nbsp;</code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L3"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #1e347b" class="kwd">class</span><span style="color: #48484c" class="pln"> </span><span style="color: teal" class="typ">CMainFrame</span><span style="color: #93a1a1" class="pun">;</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L4"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp">&nbsp;</code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L5"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #1e347b" class="kwd">class</span><span style="color: #48484c" class="pln"> </span><span style="color: teal" class="typ">CGUICmd</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L6"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="pun">{</span></code></div><div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L7"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #93a1a1" class="pun">}</span></code></div></div></pre></div></div></div></div><img src ="http://www.cppblog.com/zhiyewang/aggbug/209290.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2014-12-24 15:32 <a href="http://www.cppblog.com/zhiyewang/archive/2014/12/24/209290.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(5)字符串比较strcmp</title><link>http://www.cppblog.com/zhiyewang/archive/2014/06/12/207261.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Thu, 12 Jun 2014 02:12:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2014/06/12/207261.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/207261.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2014/06/12/207261.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/207261.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/207261.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;#include&nbsp;"stdafx.h"<br /><span style="color: #008080; ">&nbsp;2</span>&nbsp;#include&nbsp;"iostream"<br /><span style="color: #008080; ">&nbsp;3</span>&nbsp;#include&nbsp;"assert.h"<br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;mystrcmp(<span style="color: #0000FF; ">const</span>&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;dest,&nbsp;<span style="color: #0000FF; ">const</span>&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;src)<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;{<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert&nbsp;(dest!=NULL&nbsp;&amp;&amp;&nbsp;src!=NULL);<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;(*dest++&nbsp;==&nbsp;*src++)<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(*dest=='\0'&nbsp;||&nbsp;*src=='\0')<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">break</span>;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;*dest&nbsp;&gt;&nbsp;*src&nbsp;?&nbsp;1&nbsp;:&nbsp;(*dest==*src&nbsp;?&nbsp;0&nbsp;:&nbsp;-1);<br /><span style="color: #008080; ">16</span>&nbsp;}<br /><span style="color: #008080; ">17</span>&nbsp;<br /><span style="color: #008080; ">18</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;main(<span style="color: #0000FF; ">int</span>&nbsp;argc,&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;argv[])<br /><span style="color: #008080; ">19</span>&nbsp;{<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("Hello&nbsp;World!\n");<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;&lt;&lt;&nbsp;mystrcmp("abc",&nbsp;"abcd");<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;&lt;&lt;&nbsp;endl;<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br /><span style="color: #008080; ">24</span>&nbsp;}<br />输出：<br /><div>Hello World!</div><div>-1</div><div>Press any key to continue</div></div><img src ="http://www.cppblog.com/zhiyewang/aggbug/207261.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2014-06-12 10:12 <a href="http://www.cppblog.com/zhiyewang/archive/2014/06/12/207261.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(4)字符串链接strcat</title><link>http://www.cppblog.com/zhiyewang/archive/2014/06/12/207260.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Thu, 12 Jun 2014 01:59:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2014/06/12/207260.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/207260.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2014/06/12/207260.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/207260.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/207260.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;#include&nbsp;"stdafx.h"<br /><span style="color: #008080; ">&nbsp;2</span>&nbsp;#include&nbsp;"iostream"<br /><span style="color: #008080; ">&nbsp;3</span>&nbsp;#include&nbsp;"assert.h"<br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;#include&nbsp;"string"<br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;mystrcat(<span style="color: #0000FF; ">char</span>*&nbsp;dest,&nbsp;<span style="color: #0000FF; ">const</span>&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;src)<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;{<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert(dest!=NULL&nbsp;&amp;&amp;&nbsp;src!=NULL);<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;p&nbsp;=&nbsp;dest;<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;(*p!='\0')&nbsp;<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p++;<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;(*p++&nbsp;=&nbsp;*src++);<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*p&nbsp;=&nbsp;'\0';<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;dest;<br /><span style="color: #008080; ">17</span>&nbsp;}<br /><span style="color: #008080; ">18</span>&nbsp;<br /><span style="color: #008080; ">19</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;main(<span style="color: #0000FF; ">int</span>&nbsp;argc,&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;argv[])<br /><span style="color: #008080; ">20</span>&nbsp;{<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("Hello&nbsp;World!\n");<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">char</span>&nbsp;buf[10]&nbsp;=&nbsp;"FU&nbsp;";<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">char</span>&nbsp;test[4]&nbsp;=&nbsp;"CK!";<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mystrcat(buf,&nbsp;test);<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;&lt;&lt;&nbsp;buf&nbsp;&lt;&lt;&nbsp;endl;<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br /><span style="color: #008080; ">27</span>&nbsp;}<br />输出：<br /><div>Hello World!</div><div>FU CK!</div><div>Press any key to continue</div></div><img src ="http://www.cppblog.com/zhiyewang/aggbug/207260.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2014-06-12 09:59 <a href="http://www.cppblog.com/zhiyewang/archive/2014/06/12/207260.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(3)判断回文字符串</title><link>http://www.cppblog.com/zhiyewang/archive/2014/06/12/207259.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Thu, 12 Jun 2014 01:50:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2014/06/12/207259.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/207259.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2014/06/12/207259.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/207259.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/207259.html</trackback:ping><description><![CDATA[<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span>&nbsp;#include&nbsp;"stdafx.h"<br /><span style="color: #008080">&nbsp;2</span>&nbsp;#include&nbsp;"iostream"<br /><span style="color: #008080">&nbsp;3</span>&nbsp;<br /><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #0000ff">using</span>&nbsp;<span style="color: #0000ff">namespace</span>&nbsp;std;<br /><span style="color: #008080">&nbsp;5</span>&nbsp;<br /><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #0000ff">int</span>&nbsp;isechol&nbsp;(<span style="color: #0000ff">const</span>&nbsp;<span style="color: #0000ff">char</span>*&nbsp;str)<br /><span style="color: #008080">&nbsp;7</span>&nbsp;{<br /><span style="color: #008080">&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">int length = strlen(str);</font><br /><span style="color: #008080">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">for (int i=0; i&lt;length/2; i++)</font><br /><span style="color: #008080">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">{</font><br /><span style="color: #008080">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 0代表不是，1代表是<br /><span style="color: #008080">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span>&nbsp;(str[i]&nbsp;!=&nbsp;str[length-i-1])<br /><span style="color: #008080">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #008080">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<br /><span style="color: #008080">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">return</span>&nbsp;1;<br /><span style="color: #008080">18</span>&nbsp;}<br /><span style="color: #008080">19</span>&nbsp;<br /><span style="color: #008080">20</span>&nbsp;<span style="color: #0000ff">int</span>&nbsp;main(<span style="color: #0000ff">int</span>&nbsp;argc,&nbsp;<span style="color: #0000ff">char</span>*&nbsp;argv[])<br /><span style="color: #008080">21</span>&nbsp;{<br /><span style="color: #008080">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("Hello&nbsp;World!\n");<br /><span style="color: #008080">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">char</span>&nbsp;buf[10]&nbsp;=&nbsp;"abcddcba";<br /><span style="color: #008080">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">if</span>&nbsp;(isechol(buf))<br /><span style="color: #008080">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;&lt;&lt;&nbsp;buf&nbsp;&lt;&lt;&nbsp;"&nbsp;is&nbsp;echol"&nbsp;&lt;&lt;&nbsp;endl;<br /><span style="color: #008080">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">else</span><br /><span style="color: #008080">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;&lt;&lt;&nbsp;buf&nbsp;&lt;&lt;&nbsp;"&nbsp;is&nbsp;not&nbsp;echol"&nbsp;&lt;&lt;&nbsp;endl;<br /><span style="color: #008080">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">return</span>&nbsp;0;<br /><span style="color: #008080">29</span>&nbsp;}<br />输出：<br />
<div>Hello World!</div>
<div>abcddcba is echol</div>
<div>Press any key to continue</div></div><img src ="http://www.cppblog.com/zhiyewang/aggbug/207259.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2014-06-12 09:50 <a href="http://www.cppblog.com/zhiyewang/archive/2014/06/12/207259.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(2)字符串复制strncpy</title><link>http://www.cppblog.com/zhiyewang/archive/2014/06/12/207258.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Thu, 12 Jun 2014 01:30:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2014/06/12/207258.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/207258.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2014/06/12/207258.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/207258.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/207258.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;#include&nbsp;"stdafx.h"<br /><span style="color: #008080; ">&nbsp;2</span>&nbsp;#include&nbsp;"iostream"<br /><span style="color: #008080; ">&nbsp;3</span>&nbsp;#include&nbsp;"assert.h"<br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;mystrncpy(<span style="color: #0000FF; ">char</span>*&nbsp;dest,&nbsp;<span style="color: #0000FF; ">const</span>&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;src,&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;n)<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;{<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert(dest!=NULL&nbsp;&amp;&amp;&nbsp;src!=NULL);<br /><span style="color: #008080; ">10</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;count&nbsp;=&nbsp;0;<br /><span style="color: #008080; ">11</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;(*src&nbsp;!=&nbsp;'\0')<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(count&nbsp;&gt;=&nbsp;n)<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">break</span>;<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">17</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dest[count++]&nbsp;=&nbsp;*src++;<br /><span style="color: #008080; ">18</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><span style="color: #008080; ">19</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dest[count]&nbsp;=&nbsp;'\0';<br /><span style="color: #008080; ">20</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;dest;<br /><span style="color: #008080; ">21</span>&nbsp;}<br /><span style="color: #008080; ">22</span>&nbsp;<br /><span style="color: #008080; ">23</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;main(<span style="color: #0000FF; ">int</span>&nbsp;argc,&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;argv[])<br /><span style="color: #008080; ">24</span>&nbsp;{<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("Hello&nbsp;World!\n");<br /><span style="color: #008080; ">26</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">char</span>&nbsp;buf[10]&nbsp;=&nbsp;{0};<br /><span style="color: #008080; ">27</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mystrncpy(buf,&nbsp;"FUCK!",&nbsp;4);<br /><span style="color: #008080; ">28</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;&lt;&lt;&nbsp;buf&nbsp;&lt;&lt;&nbsp;endl;<br /><span style="color: #008080; ">29</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br /><span style="color: #008080; ">30</span>&nbsp;}<br /><br />输出：<br /><div>Hello World!</div><div>FUCK!</div><div>Press any key to continue</div></div><img src ="http://www.cppblog.com/zhiyewang/aggbug/207258.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2014-06-12 09:30 <a href="http://www.cppblog.com/zhiyewang/archive/2014/06/12/207258.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(1)字符串复制</title><link>http://www.cppblog.com/zhiyewang/archive/2014/06/12/207257.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Thu, 12 Jun 2014 01:11:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2014/06/12/207257.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/207257.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2014/06/12/207257.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/207257.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/207257.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;#include&nbsp;"stdafx.h"<br /><span style="color: #008080; ">&nbsp;2</span>&nbsp;#include&nbsp;"iostream"<br /><span style="color: #008080; ">&nbsp;3</span>&nbsp;#include&nbsp;"assert.h"<br /><span style="color: #008080; ">&nbsp;4</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #0000FF; ">using</span>&nbsp;<span style="color: #0000FF; ">namespace</span>&nbsp;std;<br /><span style="color: #008080; ">&nbsp;6</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;mystrcpy(<span style="color: #0000FF; ">char</span>*&nbsp;dest,&nbsp;<span style="color: #0000FF; ">const</span>&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;src); // 1 const<br /><span style="color: #008080; ">&nbsp;8</span>&nbsp;<br /><span style="color: #008080; ">&nbsp;9</span>&nbsp;<br /><span style="color: #008080; ">10</span>&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;main(<span style="color: #0000FF; ">int</span>&nbsp;argc,&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;argv[])<br /><span style="color: #008080; ">11</span>&nbsp;{<br /><span style="color: #008080; ">12</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("Hello&nbsp;World!\n");<br /><span style="color: #008080; ">13</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">char</span>&nbsp;buf[10]&nbsp;=&nbsp;{0};<br /><span style="color: #008080; ">14</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mystrcpy(buf,&nbsp;"FUCK!");<br /><span style="color: #008080; ">15</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;&lt;&lt;&nbsp;buf&nbsp;&lt;&lt;&nbsp;endl;<br /><span style="color: #008080; ">16</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;0;<br /><span style="color: #008080; ">17</span>&nbsp;}<br /><span style="color: #008080; ">18</span>&nbsp;<br /><span style="color: #008080; ">19</span>&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;mystrcpy(<span style="color: #0000FF; ">char</span>*&nbsp;dest,&nbsp;<span style="color: #0000FF; ">const</span>&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;src)<br /><span style="color: #008080; ">20</span>&nbsp;{<br /><span style="color: #008080; ">21</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert(dest!=NULL&nbsp;&amp;&amp;&nbsp;src!=NULL); &nbsp; // 2 assert<br /><span style="color: #008080; ">22</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">char</span>*&nbsp;p&nbsp;=&nbsp;dest;<br /><span style="color: #008080; ">23</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">while</span>&nbsp;(*p++&nbsp;=&nbsp;*src++);<br /><span style="color: #008080; ">24</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*p&nbsp;=&nbsp;'\0'; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// 3 字符串结束<br /><span style="color: #008080; ">25</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">return</span>&nbsp;dest;<br /><span style="color: #008080; ">26</span>&nbsp;}<br /><br />输出：<br /><div>Hello World!</div><div>FUCK!</div><div>Press any key to continue</div></div><img src ="http://www.cppblog.com/zhiyewang/aggbug/207257.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2014-06-12 09:11 <a href="http://www.cppblog.com/zhiyewang/archive/2014/06/12/207257.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>