// ========================================================== ==========================================
// Name: helloworld. cpp
// Author: chio <chio.yang@gmail.com>
// Version: ver.1.0.0
// Copyright: suprasoft Inc ,.
// Description: Todo
// ========================================================== ==========================================
# Include < Iostream >
# Include < String . H >
# Include < Cassert >
Using Namespace STD;
Char * Strcpy ( Char * DST, Const Char * SRC ){
Assert (SRC ! = Null && DST ! = Null );
Char * RET = DST;
While (( * DST ++ = * SRC ++ ) ! = ' \ 0 ' );
Return RET;
}
Void * Memcpy ( Void * DST, Const Void * SRC, size_t Len ){
Assert (SRC ! = Null && DST ! = Null );
Void * RET = DST;
Int I = Len;
// Anti-overlap
If (SRC < DST ){
Char * CSRC = ( Char * ) SRC;
Char * Cdst = ( Char * ) DST;
While (I -- ){
* Cdst ++ = * CSRC ++ ;
}
} Else {
Char * CSRC = ( Char * ) SRC + Len - 1 ;
Char * Cdst = ( Char * ) DST + Len - 1 ;
While (I -- ){
* Cdst -- = * CSRC -- ;
}
}
ReturnRET;
}
Int Main (){
Char * SRC = " Hello World " ;
Char * DST = New Char [ 0 ];
Cout < Strcpy (DST, Src) < Endl;
Void * Memsrc = ( Void * ) " Hello " ;
Char Memdst [ 6 ];
Memdst [ 5 ] = ' \ 0 ' ;
Cout < ( Char * ) Memcpy (memdst, memsrc, 5 ) < Endl;
Return 0;
}