strlen,strcat,strcpy,strcmp的实现

自己设计实现strlen,strcat,strcpy,strcmp。

int my_strlen(char *a)
{
	int count=0;
	while(*a)
	{
		a++;
		count++;
	}
	return count;
}
char* my_strcat(char *a,char *b)
{
	char *c;
	c=a;
	while(*a)
	{
		a++;
	}
	while(*b)
	{
		*a++=*b++;
	}
	return c;
}
char* my_strcpy(char *c,char *b)
{
	char *d;
	d=c;
	while(*b)
	{
		*c++=*b++;
	}
	return d;
}
int my_strcmp(char* a,char* b)
{
	while((*a!=0)&&(*b!=0))
	{
		a++;
		b++;
	}
	if(*a==0)
		return -1;
	else if(*b==0)
		return 1;
	else
		return 0;
}
int main()
{
	int strlen,strcmp;
	char *p1,*p2;
	char arr1[20]="lalalalala";
	char arr2[]=" huhuhu";
	char arr3[20]="0";
	strlen=my_strlen(arr1);
    printf("%d\n",strlen);
	p1=my_strcat(arr1,arr2);
	while(*p1)
	{
		printf("%c",*p1++);
	}
	printf("\n");
	p2=my_strcpy(arr3,arr2);
	while(*p2)
	{
		printf("%c",*p2++);
	}
	printf("\n");
	strcmp=my_strcmp(arr1,arr2);
	printf("%d\n",strcmp);
    return 0;
}
时间: 2024-10-05 03:23:18

strlen,strcat,strcpy,strcmp的实现的相关文章

strlen strcat strcpy strcmp 自己实现

strlen strcat strcpy strcmp 自己实现 strlen include <stdio.h> #include <string.h> #include <assert.h> size_t my_strlen(const char* str){ assert(str != NULL); const char *tmp = str; size_t count = 0; while(*tmp++ != '\0'){ count++; } return c

C基础--字符串操作函数(strlen,strcpy,strcmp,strcat,strstr,strtok)

#include <stdio.h> #include <string.h> int main(void) { //char dest[10]; //#define NULL (void *)0 //char *dest = NULL; //dest是野指针,指向的区域没有可读写空间 //char dest[3]; //char src[] = "hello"; char str1[10] = "hello"; //char str2[10]

strcat strcpy strcmp strlwr strlen的简单用法

#include<stdio.h>int main(){ char str1[20] = { "hello" }; char str2[] = { "bit" }; printf("%s", strcat(str1, str2)); system("pause"); return 0;} #include<stdio.h>int main(){ char str1[20]; char str2[] =

各种字符串函数(strcpy,strcmp,strlen)之深度剖析

//字符串复制函数1 void strcpy1(char str1[], char str2[]){ int i = 0; for (; str2[i] != '\0'; i++){ str1[i] = str2[i]; } str1[i] = '\0'; } //2 void strcpy2(char str1[], char str2[]){ int i = 0; while (str1[i] = str2[i])i++; } //字符串长度函数1 int strlen1(char str[

转载 C++常用库函数atoi,itoa,strcpy,strcmp的实现

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

C语言简单strcat和strcmp的实现

对于C标准库中的字符串处理函数应该平常用的比较多:简单实现strcat和strcmp _strcpy: 1 char *_strcpy(char *dest, char *src) 2 { 3 char *buf = dest; 4 while((*dest++ = *src++)) 5 ; 6 return buf; 7 } _strcmp: 1 int _strcmp(char *str1, char *str2) 2 { 3 if(str1 == NULL || str2 == NULL)

教教大家一些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(),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= &qu