#include <iostream>using namespace STD;namespaceMyString {size_tstrlen(Const Char* str);Char*strcpy(Char* DST,Const Char* src);int strcmp(Const Char* STR1,Const Char* str2);} size_t MyString::strlen(Const Char* Str) {if(str = = NULL)return 0; size_t size =0; while(*str++! =' + ') size++;returnsize;};Char* MyString::strcpy(Char* DST,Const Char* src) {if(!DST | |!src)returnDstChar* Dst_origal = DST; while(*dst++ = *src++);returnDst_origal;}intMyString::strcmp(Const Char* STR1,Const Char* str2) {intresult =0;if(!str1 | |!str2) {return*STR1-*STR2; } while(*str1 && *str2 && *str1 = = *str2) {str1++; str2++; }return*STR1-*STR2;}namespaceMyMemory {Template<classT> t*memcpy(t* DST,Constt* src, size_t num) {if(!src | |!dst | | num <1)returnDst t* dst_org = DST; size_t i =0; while((i++ < num) && (*dst++ = *src++)) {}returndst_org; }}intMain () {Const Char* str ="+1234";Const Char* STR1 ="+123383891744";Const Char* STR2 =" -2194839580031234";Const Char* STR3 =" -1234";Const Char* STR4 =" -123SA4";Const Char* STR5 =" -+";cout<< MyString::strlen(str) << Endl;cout<< MyString::strcmp(str, str1) << Endl;cout<< MyString::strcmp("Qwer","Qwert") << Endl;cout<< MyString::strcmp("Qwer","Qwer") << Endl;cout<< MyString::strcmp("Qwert","Qwer") << Endl;Char* STR_CP =New Char[Ten]; MyString::strcpy(STR_CP, STR2);cout<< STR_CP << Endl;Char* str_1 =New Char[ -]; MyMemory::memcpy(Str_1, STR4, MyString::strlen(STR4) +1);cout<< str_1 << Endl;return 0;}
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
Strlen, strcpy, strcmp, memcpy's realization