📄 zstring_cc.cpp
字号:
//---------------------------------------------------------------------------
//-------- Zstring_C.cpp ----------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include "Zstring_H.h"
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//
// 下面是实现部分。
//
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// obj_a + obj_b = obj_c
//---------------------------------------------------------------------------
Zstring Zstring::operator+(const Zstring& obj)const
{ Zstring temp;
if(p != NULL) // 如果obj_a不空
{ if(obj.p != NULL) // 如果obj_b也不空
{ register SizeType len = obj.Length() + size;
ReNewChar(temp.p, len);
temp.size = len;
strcpy(temp.p, p);
strcat(temp.p, obj.p);
return temp;
} // endif
else // 如果obj_a不空,但obj_b空
{ return *this; } // end else
} // endif p
else // 如果obj_a空
{ if(obj.p != NULL) // 如果obj_b不空
{ return obj; } // endif
else // 如果obj_a空,obj_b也空
{ return temp; } // end else
} // end else
} // end operator+
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// obj_a + str = obj_c
//---------------------------------------------------------------------------
Zstring Zstring::operator+(const char *s)const
{ Zstring temp;
if(s != NULL) // 如果s不空
{ if(p != NULL) // 如果obj_a也不空
{ register SizeType len = strlen(s) + size;
ReNewChar(temp.p, len);
temp.size = len;
strcpy(temp.p, p);
strcat(temp.p, s);
return temp;
} // endif
else //如果s不空,但obj_a空
{ temp = s; return temp; } // end else
} // endif
else // 如果s空
{ return *this; } // end else
} // end operator+
//---------------------------------------------------------------------------
//------ Friend Function operator+ ------------------------------------------
// str + obj_b = obj_c
//---------------------------------------------------------------------------
Zstring operator+(const char *s, const Zstring& obj)
{ Zstring temp;
if(s != NULL) // 如果s不空
{ if(obj.p != NULL) // 如果obj_b也不空
{ register SizeType len = strlen(s) + obj.size;
ReNewChar(temp.p, len);
temp.size = len;
strcpy(temp.p, s);
strcat(temp.p, obj.p);
return temp;
} // endif
else // 如果s不空,但obj_b空
{ temp = s; return temp; } // end else
} // endif
else // 如果s空
{ return obj; } // end else
} // end friend operator+
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// 取子串。
//---------------------------------------------------------------------------
Zstring Zstring::operator()(SizeType len, SizeType x)const
{ if( x <= Length() )
{ register char* srp = p + x;
Zstring temp(srp, len);
return temp;
} // endif
else
{ Zstring temp; return temp; } // end else
} // end operator(len,fp)
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// end Zstring_C.cpp
//---------------------------------------------------------------------------
// Written by JamesyFront. ZLGmcu Dev.Co.Ltd. 2002.
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -