目录
1. strlen
size_t mystrlen(const char *s)
{
const char *sc;
for(sc = s; *sc != '\0'; ++sc)
;
return (sc - s);
}
2. strncmp
int mystrncmp(const char *s1, const char *s2, size_t n)
{
for(; 0 < n; ++s1, ++s2, --n)
{
if(*s1 != *s2)
return (*(unsigned char *)s1 < *(unsigned char *)s2 ? -1 : 1);
else if(*s1 == '\0')
return (0);
}
return (0);
}
3. strcpy
void mystrcpy(char *s1, char *s2)
{
while(*s1++ = *s2++);
}
4. strncpy
char *mystrncpy(char *s1, char *s2, size_t n)
{
char *s;
for(s = s1; 0 < n&& *s2 != '\0'; --n)
*s++ = *s2++;
for(; 0 < n; -