Newer
Older
// Reference: http://clc-wiki.net/wiki/C_standard_library:string.h:strlen
int stringLen(const char* Str) {
int Length;
for (Length = 0; Str[i] != '\0'; i++);
return Length;
}
// Reference: http://clc-wiki.net/wiki/C_standard_library:string.h:strncpy
void stringCopy(char* Dest, const char* Src, int Length) {
char *Ret = Dest;
do {
if (!Length--)
return Ret;
} while (*Dest++ = *Src++);
while (Length--)
*Dest++ = 0;
return Ret;
}
// Reference: http://clc-wiki.net/wiki/C_standard_library:string.h:strcmp
int stringCompare(const char* Str1, const char* Str2) {
while (*Str1 && (*Str1==*Str2))
Str1++,Str2++;
return *(const unsigned char*)Str1-*(const unsigned char*)Str2;
}
/*
* Reference: https://www.geeksforgeeks.org/write-memcpy/
*/
int byteCopy(void* Dest, void* Src, int DestLen, int SrcLen) {
if (SrcLen > DestLen) return FAILURE;
int i;
char* cDest = (char*)Dest;
char* cSrc = (char*)Src;
for (i = 0; i < SrcLen; i++) cDest[i] = cSrc[i];
}