编写程序实现strlen()函数,strcmp(),strcpy(),strcat()的功能

1.strlen()函数的实现(求字符串长度的函数)

#include <stdio.h>
#include <assert.h>

int my_strlen(const char *str)
{
  int count=0;
  assert(str!=NULL);
  while(*str)
  {
    count++;
                str++;
  }
  return count;
}
int main()
{
  char *string= "abcdef  ds123";
  printf("%d\n",my_strlen(string));
  system("pause");
  return 0;
}

2.strcmp()函数的实现(比较字符串的函数)

#include <stdio.h>
#include <assert.h>

int my_strcmp(const char *str1, const char *str2)
{
  assert(str1!=NULL);
  assert(str2!=NULL);
  while(*str1 && *str2  && (*str1==*str2))
  {
    str1++;
                str2++;
  }
  return *str1-*str2;
}
int main()
{
  char *str1= "abcdde";
  char *str2= "abcdef";
  printf("%d\n",my_strcmp(str1,str2));
  system("pause");
  return 0;
}

3.strcpy()函数的实现(将一个字符串复制到另一个数组中,并将其覆盖)

#include <stdio.h>
#include <assert.h>

char *my_strcpy(char *dest,const char *scr)    //*scr将*dest里的东西覆盖
{
  char *ret=dest;
  assert(dest!=NULL);
  assert(scr!=NULL);
  while(*scr)
  {
    *dest=*scr;
                scr++;
                dest++;
  }
  *dest=‘\0‘;
  return ret;
}
int main()
{
                 char str1[100]="I love the world" ;   //注意此处str1必须是个数组,因为如果是个常量字符串,它就不能被改变了
                 char *str2="China" ;
                printf( "%s\n",my_strcpy(str1,str2));
  system("pause");
  return 0;
}

4.strcat()函数的实现(字符串连接函数)

#include <stdio.h>
#include <assert.h>

char *my_strcat(char *dest,const char *scr)
{
  char *ret=dest;
  assert(dest!=NULL);
  assert(scr!=NULL);
  while(*dest)
  {
    dest++;
  }
  while(*dest=*scr)
  {
    scr++;
                dest++;
  }
  return ret;
}
int main()
{
                 char str1[100]="I have " ;
                 char *str2="a dream!" ;
                printf( "%s\n",my_strcat(str1,str2));
  system("pause");
  return 0;
}
时间: 2024-10-13 15:59:36

编写程序实现strlen()函数,strcmp(),strcpy(),strcat()的功能的相关文章

C 实现strcmp,strcpy,strcat函数

基于C语言的strcmp,strcpy,strcat函数的实现.C语言是一个程序员的基础,一定要重视. char* strcat ( char * dst , const char * src ) { char * cp = dst; while( *cp ) cp++; /* find end of dst */ while( *cp++ = *src++ ) ; /* Copy src to end of dst *///一直到赋完'\0' return( dst ); /* return

【C语言】自己编写程序实现strchr函数。即在给定字符串中找特定的字符并返回该处指针。

<pre name="code" class="cpp">//自己编写程序实现strchr函数.即在给定字符串中找特定的字符并返回该处指针. #include <stdio.h> char * my_strchr(char const *str,int ch) { while(*str!='\0') { if(*str!=ch) str++; else return str; } printf("未找到该字符\n"); r

【C语言】自己编写程序实现strrchr函数,即在给定字符串中找特定的字符并返回最后出现的位置

//自己编写程序实现strrchr函数,即在给定字符串中找特定的字符并返回最后出现的位置 #include <stdio.h> #include <string.h> char * my_strrchr(char const *str,int ch) { int count=0; while(*str!='\0') { count++; str++; } str--; while(count) { if(*str!=ch) { str--; count--; } else retu

strlen、strcmp、strcat、strlen、memmove

#include <cassert> #include <iostream> using namespace std; /* strlen 返回字符串不包含结束符\0的长度 */ int mystrlen(const char *str) {//非递归strlen assert(str);//必须不为空 int len = 0; while (*str++) len++; return len; } int mystrlen1(const char *str) {//递归 stel

strcmp,strcpy,strcat,strncmp,strncpy,strncat,自实现精炼版本

1strcmp and strncmp 1 #include <stdio.h> 2 #include <string.h> 3 /* 4 strcmp and strncmp 自实现 5 */ 6 int mystrcmp(const char *str,const char *str1) 7 { 8 for(;*str&&*str1&&*str == *str1;str++,str1++); 9 return *str - *str1; 10 }

转:C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文

转自:C语言字符串操作函数 - strcpy.strcmp.strcat.反转.回文 作者:jcsu C语言字符串操作函数 1. 字符串反转 - strRev2. 字符串复制 - strcpy3. 字符串转化为整数 - atoi4. 字符串求长 - strlen5. 字符串连接 - strcat6. 字符串比较 - strcmp7. 计算字符串中的元音字符个数8. 判断一个字符串是否是回文1. 写一个函数实现字符串反转 版本1 - while版 void strRev(char *s){    

教教大家一些strcpy,strcmp,strcat,strlen函数的写法

VC源码: strcmp函数的写法: #include<stdio.h> #include<string.h> int strcmp1(char* a, char* b) { for(;*a==*b;a++,b++) if(*a!='\0') return 0; return *a - *b; } main() {  int l; char a[10]={"db"}; char b[10]={"cb"}; l=strcmp1(a,b); pr

strcpy,strlen, strcat, strcmp函数,strlen函数和sizeof的区别

//计算字符串实际长度        //strlen()函数:当遇到'\0'时,计算结束,'\0'不计入长度之内,如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到'\0'停止//    char string[] = "I Love You!";//    unsigned long len = strlen(string);//    printf("len = %lu\n", len);  //11//    //    stri

strlen的三种实现方法,strcmp,strcat,strcpy

首先我们来看一下大家学习中经常熟悉用到的strlen函数. strlen 1:指针差值返回 int my_strlen(const char *str) {              char *pst = (char *)str;             assert(str);              while(*str)             {                         str++;             }              return  str