⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fg__string_8cpp-source.html

📁 《道法自然》书的源码FishGUI,一个跨平台的界面库
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=gb2312"><title>FishGUI: FG_String.cpp Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- 制作者 Doxygen 1.3.6 --><div class="qindex"><a class="qindex" href="main.html">首页</a> | <a class="qindex" href="modules.html">模块</a> | <a class="qindex" href="hierarchy.html">类继承关系</a> | <a class="qindex" href="classes.html">按字典顺序排序的列表</a> | <a class="qindex" href="annotated.html">组合类型列表</a> | <a class="qindex" href="files.html">文件列表</a> | <a class="qindex" href="functions.html">组合类型成员</a> | <a class="qindex" href="globals.html">文件成员</a></div><h1>FG_String.cpp</h1><a href="FG__String_8cpp.html">浏览该文件的文档。</a><div class="fragment"><pre>00001 <span class="comment">/*--------------------------------------------------------------------------</span>00002 <span class="comment"></span>00003 <span class="comment">        FG_String.cpp - 字符串类的实现文件</span>00004 <span class="comment"></span>00005 <span class="comment">        本程序是FishGUI软件的一部分</span>00006 <span class="comment"></span>00007 <span class="comment">        版权所有 (C) 2003,2004 王咏武</span>00008 <span class="comment">        http://www.contextfree.net/wangyw/</span>00009 <span class="comment"></span>00010 <span class="comment">----------------------------------------------------------------------------</span>00011 <span class="comment"></span>00012 <span class="comment">        作者对 FishGUI 软件及其所有源代码授权如下:</span>00013 <span class="comment"></span>00014 <span class="comment">        允许任何个人、组织、机构、企业无偿获得、修改、使用、重新发布 FishGUI 软</span>00015 <span class="comment">        件及其源代码,或按照有偿或者无偿的方式发行基于 FishGUI 源代码的全部或部</span>00016 <span class="comment">        分内容开发的软件产品,——但行使以上权利时,须遵守以下约定:</span>00017 <span class="comment"></span>00018 <span class="comment">        1、重新发布 FishGUI 软件及其源代码时,不得隐去软件及其源代码中原有的版</span>00019 <span class="comment">           权信息和开发者标识。</span>00020 <span class="comment"></span>00021 <span class="comment">        2、发行基于 FishGUI 源代码的全部或部分内容开发的软件产品时,必须在产品</span>00022 <span class="comment">           的显著位置标明以下字样:</span>00023 <span class="comment"></span>00024 <span class="comment">           【本产品的一部分功能是基于王咏武在 FishGUI 软件中的工作完成的】</span>00025 <span class="comment"></span>00026 <span class="comment">        3、在正式出版物中引用 FishGUI 的文档、源代码或注释内容的,应注明软件的</span>00027 <span class="comment">           原作者为王咏武。</span>00028 <span class="comment"></span>00029 <span class="comment">--------------------------------------------------------------------------*/</span>00040 <span class="preprocessor">#include "<a class="code" href="FG__String_8h.html">FG_String.h</a>"</span>00041 <span class="preprocessor">#include "string.h"</span>00042 00043 <span class="preprocessor">#if defined(WIN32) &amp;&amp; defined(_DEBUG)</span>00044 <span class="preprocessor"></span>    <span class="comment">/* Trace memory allocation in windows debug version */</span>00045 <span class="preprocessor">    #include &lt;crtdbg.h&gt;</span>00046     <span class="keyword">static</span> <span class="keywordtype">char</span> THIS_FILE[] = __FILE__;00047 <span class="preprocessor">    #define new new(_NORMAL_BLOCK, __FILE__, __LINE__)</span>00048 <span class="preprocessor"></span><span class="preprocessor">#endif  </span><span class="comment">/* _DEBUG */</span>00049     00050 <span class="comment">//##ModelId=40926077001E</span><a name="l00051"></a><a class="code" href="classFG__String.html#a1">00051</a> <a class="code" href="classFG__String.html#a0">FG_String::FG_String</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * Text)00052 {00053     <a class="code" href="classFG__String.html#r2">m_wBufferLen</a> = 0;00054     <span class="keywordflow">if</span> (Text)00055     {00056         <span class="keywordflow">if</span> (* Text)00057         {00058             <a class="code" href="classFG__String.html#r1">m_wStrLen</a> = strlen(Text);00059             <a class="code" href="classFG__String.html#r2">m_wBufferLen</a> = <a class="code" href="classFG__String.html#r1">m_wStrLen</a> + 16;        00060             <a class="code" href="classFG__String.html#r0">m_pText</a> = <span class="keyword">new</span> <span class="keywordtype">char</span>[<a class="code" href="classFG__String.html#r2">m_wBufferLen</a> + 1];00061             strcpy(<a class="code" href="classFG__String.html#r0">m_pText</a>, Text);00062         }00063         <span class="keywordflow">else</span>00064         {00065             <a class="code" href="classFG__String.html#r1">m_wStrLen</a> = 0;00066             <a class="code" href="classFG__String.html#r0">m_pText</a> = <a class="code" href="group__Utility.html#ga11">NULL</a>;00067         }00068     }00069     <span class="keywordflow">else</span>00070     {00071         <a class="code" href="classFG__String.html#r0">m_pText</a> = <a class="code" href="group__Utility.html#ga11">NULL</a>;00072         <a class="code" href="classFG__String.html#r1">m_wStrLen</a> = 0;00073     }00074 }00075 00076 <span class="comment">//##ModelId=409260770031</span><a name="l00077"></a><a class="code" href="classFG__String.html#a2">00077</a> <a class="code" href="classFG__String.html#a2">FG_String::~FG_String</a>()00078 {00079     <span class="keywordflow">if</span> (<a class="code" href="classFG__String.html#r0">m_pText</a>)00080     {00081         <span class="keyword">delete</span> [] <a class="code" href="classFG__String.html#r0">m_pText</a>;00082     }    00083 }00084 00085 <span class="comment">//##ModelId=409260770033</span><a name="l00086"></a><a class="code" href="classFG__String.html#a3">00086</a> <span class="keywordtype">void</span> <a class="code" href="classFG__String.html#a3">FG_String::DataSet</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * Text)00087 {00088     <span class="keywordflow">if</span> (Text)00089     {00090         <span class="keywordflow">if</span> (* Text)00091         {00092             <a class="code" href="classFG__String.html#r1">m_wStrLen</a> = strlen(Text);00093             <span class="keywordflow">if</span> (<a class="code" href="classFG__String.html#r1">m_wStrLen</a> &gt; <a class="code" href="classFG__String.html#r2">m_wBufferLen</a>)00094             {00095                 <span class="keywordflow">if</span> (<a class="code" href="classFG__String.html#r0">m_pText</a>)00096                 {00097                     <span class="keyword">delete</span> [] <a class="code" href="classFG__String.html#r0">m_pText</a>;00098                 }00099                 <a class="code" href="classFG__String.html#r2">m_wBufferLen</a> = <a class="code" href="classFG__String.html#r1">m_wStrLen</a> + 32;00100     00101                 <a class="code" href="classFG__String.html#r0">m_pText</a> = <span class="keyword">new</span> <span class="keywordtype">char</span>[<a class="code" href="classFG__String.html#r2">m_wBufferLen</a> + 1];00102                 strcpy(<a class="code" href="classFG__String.html#r0">m_pText</a>, Text);00103             }00104             <span class="keywordflow">else</span>00105             {00106                 strcpy(<a class="code" href="classFG__String.html#r0">m_pText</a>, Text);00107             }00108         }00109     }00110     <span class="keywordflow">else</span>00111     {00112         <span class="keywordflow">if</span> (<a class="code" href="classFG__String.html#r0">m_pText</a>)00113         {00114             <span class="keyword">delete</span> [] <a class="code" href="classFG__String.html#r0">m_pText</a>;00115         }00116         <a class="code" href="classFG__String.html#r0">m_pText</a> = <a class="code" href="group__Utility.html#ga11">NULL</a>;00117         <a class="code" href="classFG__String.html#r1">m_wStrLen</a> = 0;00118         <a class="code" href="classFG__String.html#r2">m_wBufferLen</a> = 0;00119     }00120 }00121 </pre></div><hr><center>由 DoxyGen 1.3.6 于 Wed Jun 9 22:34:41 2004 生成<br>版权所有 (C) 2003,2004 王咏武</body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -