strncpy()、 strcpy()、 strcmp 、strdup、 strlen函数的实现
2011-08-23 13:56
351 查看
1.strncpy() 函数的实现
man查询的:
char *strncpy(char *dest,char *src,int n)
{
int i;
for(i=0;i<n && src[i]!='\0';i++)
dest[i] = src[i];
for(;i<n;i++)
dest[i] = '\0';
return dest;
}
网上找的:
char *strncpy(char *dest,const char *src,int n)
{
int i=0;
char *ret=dest;
while(*src != '\0 ' && i <n)
{
*dest++ = *src++;
i++;
}
return ret;
}
2.strcpy() 函数的实现
static char * strcpy(char *dest, const char *src)
{
assert(dest != NULL && src != NULL);
char *ret = dest;
while ((*dest++ = *src++) != '\0');
return ret;
}
3.strcmp 函数的实现
int strcmp(const char* strLeft,const char * strRight)
{
for(;*strLeft==*strRight;strLeft++,strRight++)
{
if(*strLeft == '\0')
return 0;
}
return ((*strLeft<*strRight)? -1,1);
}
4.strdup()函数的实现
char * strdup(char *)
{
char * strNew;
assert(str != NULL);
strNew = (char *)malloc(strlen(str)+1);
strcpy(strNew,str);
return strNew;
}
5.strlen函数的实现
方法一:(标准些)
int my_strlen(const char *strDest)
{
assert(NULL != strDest);
if('\0' == *strDest)
return 0;
else
return(1+my_strlen(++strDest));
}
方法二:
int strlen(char s[])
{
int i;
i =0;
while(s[i] != '\0') ++i;
return i;
}
6.memcpy函数实现
typedef unsigned int size_t;
void * memcpy ( void *dest, const void *src, size_t num )
{
void* ret = dest;
while (num--)
{
*(char*)dest = *(char*)src;
dest = (char*)dest + 1;
src = (char*)src + 1;
}
return ret;
}
相关文章推荐
- strncpy()、 strcpy()、 strcmp 、strdup、 strlen函数的实现!
- 模拟实现strcpy,strcmp,strstr,strncpy,strncmp,strcat,strlen函数
- strlen(),strcpy(),strncpy(),strcat(),strncat(),strcmp(),strncmp()等函数的实现
- 几个常用函数的实现strcpy、 strncpy、 strncat 、 strcmp、 strlen
- string系列之strcpy、strncpy、strcmp、strlen编程实现
- 字符串函数模拟实现之strcpy、strncpy、strcmp、strncmp、strcat、strncat
- strcpy,strncpy,strcat,strcnat,strcmp,strncmp,的区别与实现
- my_strcpy,my_strcmp,my_strcat,my_strlen函数的实现
- 用C实现strcpy、strcmp、strlen函数
- strcpy,strncpy, strlen, strcmp strcat函数实现
- strlen,strcpy,strncpy,strcmp,strcat,strstr的用法,函数原型及函数的实现
- 字符串库函数strlen,strcmp,strcpy,strncpy,strcat,strncat自定义实现
- 实现atoi,itoa,strcmp,strcpy,strcat,strlen函数
- strlen,strcat,strcpy,strncpy,strcmp的具体实现
- 自定义实现字符串处理函数 strlen strcmp strcpy strncpy strcat strncat strchr strstr
- 模拟实现strcpy 模拟实现strncpy 模拟实现strcat 模拟实现strncat 模拟实现strcmp 模拟实现strncmp 模拟实现memcpy 模拟实现memmove
- C语言中strlen、strcpy、strncpy、strcat、strnact、strcmp、memcpy函数的实现
- 自己实现strcpy,strncpy,strncat,strcmp,strlen的功能
- 自定义实现字符串处理函数 strlen strcmp strcpy strncpy strcat strncat strchr strstr
- strlen strcmp strcat strcpy strncpy strstr strchar函数的实现