Chinaunix首页 | 论坛 | 博客
  • 博客访问: 358068
  • 博文数量: 78
  • 博客积分: 3380
  • 博客等级: 中校
  • 技术积分: 857
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-16 19:39
文章分类

全部博文(78)

文章存档

2011年(31)

2010年(47)

分类: C/C++

2010-06-16 19:53:36

#include
//////////////////////////////////////////////////////////////////////////
int my_strlen(const char *str)
{
 int num=0;
 while(*str++!='\0')
  num++;
 return num;
}
////////////////////////////////////////////////////////////////////////////
char *my_strcpy(char *dest,const char *src)  
{
 char *ret_string = dest;           
 while( *src !='\0' )
  *dest++ = *src++;
 *dest = '\0'; //写法1          
 //while((*dest++=*src++)!='\0');  //写法2
 return ret_string;
}
//////////////////////////////////////////////////////////////////////////
char *my_strncpy(char *dest,const char *src,int num)  
{
 char *ret_string = dest;           
 while( *src !='\0' && num--)
  *dest++ = *src++;
 *dest = '\0'; //写法1          
 //while((*dest++=*src++)!='\0');  //写法2
 return ret_string;
}
///////////////////////////////////////////////////////////////////////
char *my_strcat(char *dest, const char* src)
{
 char *temp = dest;
 while (*dest != '\0')
  dest++;
 while((*dest++ = *src++) != '\0');
 return temp;
}
//////////////////////////////////////////////////////////////////////////
char *my_strncat(char *dest, const char* src,int num)
{
 char *temp = dest;
 while (*dest != '\0')
  dest++;
 while((*dest++ = *src++) != '\0' && num--);
 return temp;
}
int strcmp(char *s1, char *s2)

 int flag=0;
 while( (*s1 && *s2) && num--)
 {
  if((*s1 - *s2)>0)
  {
   flag=1
   break;
  }
  else if((*s1-*s2)<0)
  {
   falg=-1;
   break;
  }
  else
  {
   s1++;
   s2++;
  }
 }
 if(*s1=='\0'&&*s2!='\0')
  flag=-1;
 else if(*s1!='\0'&&*s2=='\0')
  flag=1;
 else if*s1=='\0'&&*s2=='\0')
  flag=0;
 return flag;
}
//////////////////////////////////////////////////////////////////
int strncmp(char *s1, char *s2,int num)
{
 int flag=0;
 while( (*s1 && *s2) && num--)
 {
  if((*s1 - *s2)>0)
  {
   flag=1
   break;
  }
  else if((*s1-*s2)<0)
  {
   falg=-1;
   break;
  }
  else
  {
   s1++;
   s2++;
  }
 }
 if(*s1=='\0'&&*s2!='\0')
  flag=-1;
 else if(*s1!='\0'&&*s2=='\0')
  flag=1;
 else if*s1=='\0'&&*s2=='\0')
  flag=0;
 return flag;
}
////////////////////////////////////////////////////////////////////

// streql(), 判断两个字符串是否相等.
int streql(char *str1,char *str2)
{
while((*str1==*str2)&&(*str1))
{
str1++;
str2++;
}
return((*str1==NULL)&&(*str2==NULL));
}
////////////////////////////////////////////////////////////////////////
//strchr(), 在字符串中查找某个字符.
char *strchr(const char *string,int letter)
{
while((*string!=letter)&(*string))
string++;
return (string);
}
////////////////////////////////////////////////////////////////////////
//chrcnt(), 计算某个字符在字符串中出现的次数.
int chrcnt(const char *string,int letter)
{
int count=0;
while(*string)
if(*string==letter)count++;
return count;
}
/////////////////////////////////////////////////////////////////
 
阅读(818) | 评论(0) | 转发(0) |
0

上一篇:c语言---指针

下一篇:c语言--file文件

给主人留下些什么吧!~~