C/C++ÃæÊÔÎÊÌâ·ÖÀà´ó»ã×Ü(Îå)

2014-09-23 08:57:05 ¡¤ ×÷Õß: ¡¤ ä¯ÀÀ: 369
nbsp;s;

}

strrev

char* strrev(char *str)

{

assert(str != NULL);

char *s = str, *t = str, c;

while (*t != ¡®\0¡ä)

++ t;

for (¨C t; s < t; ++ s, ¡ª t)

{

c = *s;

*s = *t;

*t = c;

}

return str;

}

strnset

char *strnset(char *str, int c, int count)

{

assert(str != NULL);

char *s = str;

for (; *s != ¡®\0¡ä && s ¨C str < count; ++ s)

*s = (char) c;

return str;

}

strset

char *strset(char *str, int c)

{

assert(str != NULL);

char *s = str;

for (; *s != ¡®\0¡ä; ++ s)

*s = (char) c;

return str;

}

strtok

char *strtok(char *strToken, const char *str)

{

assert(strToken != NULL && str != NULL);

char *s = strToken;

const char *t = str;

while (*s != ¡®\0¡ä)

{

t = str;

while (*t != ¡®\0¡ä)

{

if (*s == *t)

{

*(strToken + (s ¨C strToken)) = ¡®\0¡ä;

return strToken;

}

++ t;

}

++ s;

}

return NULL;

}

strupr

char *strupr(char *str)

{

assert(str != NULL);

char *s = str;

while (*s != ¡®\0¡ä)

{

if (*s >= ¡®a¡¯ && *s <= ¡®z¡¯)

*s -= 0¡Á20;

s ++;

}

return str;

}

strlwr

char *strlwr(char *str)

{

assert(str != NULL);

char *s = str;

while (*s != ¡®\0¡ä)

{

if (*s >= ¡®A¡¯ && *s <= ¡®Z¡¯)

*s += 0¡Á20;

s ++;

}

return str;

}

memcpy

void *memcpy(void *dest, const void *src, int count)

{

assert((dest != NULL) && (src != NULL));

void *address = dest;

while (count ¨C)

{

*(char *) dest = *(char *) src;

dest = (char *) dest + 1;

src = (char *) src + 1;

}

return address;

}

memccpy

void *memccpy(void *dest, const void *src, int c, unsigned int count)

{

assert((dest != NULL) && (src != NULL));

while (count ¨C)

{

*(char *) dest = *(char *) src;

if (* (char *) src == (char) c)

return ((char *)dest + 1);

dest = (char *) dest + 1;

src = (char *) src + 1;

}

return NULL;

}

memchr

void *memchr(const void *buf, int c, int count)

{

assert(buf != NULL);

while (count ¨C)

{

if (*(char *) buf == c)

return (void&n