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 dst */
} 

char* strcpy(char * dst, const char * src)

{
	char * cp = dst;
	while( *cp++ = *src++ )
	; /* Copy src over dst */
	return( dst );
}

int strcmp ( const char* src, const char* dst )
{
	int ret = 0 ;
	while(!(ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst)
	++src, ++dst;
	if ( ret < 0 )
		ret = -1 ;
	else if ( ret > 0 )
		ret = 1 ;
	return( ret );
}
时间: 2024-10-19 08:15:01

C 实现strcmp,strcpy,strcat函数的相关文章

字符串处理strcpy strcat函数的用法

C语言函数字符串处理strcpy strcat函数的用法: 1)strcat是用来连接两个字符串的,原型是char *strcat(char *dest,char *src),作用是把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0' 2) strcpy是用来把字符串拷贝到指定的地方的,原型是char *strcpy(char *dest,const char *src),作用是把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间注意str

编写程序实现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

C语言中strcpy,strcmp,strlen,strcat函数原型

//strcat(dest,src)把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0' char *strcat(char * strDest, const char *strSrc) { char *res=strDest; assert((strDest!=NULL)&&(strSrc!=NULL)); while(*strDest)strDest++; while(*strDest=*strSrc) { strDest++; strSrc++; }

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,strncpy, strlen, strcmp strcat函数实现

#include <stdio.h> #include <assert.h> char* strcpy(char* strDest, const char* strSrc) { assert((strDest != NULL) && (strSrc != NULL)); char* address = strDest; while((*strDest++ = *strSrc++) != '\0') NULL; return address; } char* strn

strlen() strcpy() strcat() strcmp()实现

strlen函数原型:unsigned int strlen(const char *);返回的是字符串中第一个\0之前的字符个数. 1.strcat函数原型char* strcat(char* dest,const char* src); 进行字符串的拼接,将第二个字符串连接到第一个字符串中第一个出现\0开始的地方.返回的是拼接后字符的首地址.并不检查第一个数组的大小是否可以容纳第二个字符串.如果第一个数组的已分配的内存不够容纳第二个字符串,则多出来的字符将会溢出到相邻的内存单元. 2.str

C语言中模拟实现strcpy,strstr,strcat函数

在C中,要模拟实现这几个库函数,是对指针的传参与函数的调用的考察,代码如下,仅供参考 strcpy函数: #include <assert.h> char* my_strcpy(char* dest, const char* src) { assert(dest);//断言指针的有效性 assert(src); char*pa = dest; while (*dest++ = *src++) ; return pa; } strstr函数: int my_strstr(const char*s

strcat函数的坑点

我们先看下面这样一段代码: 1 #include <iostream> 2 #include <stdlib.h> 3 using namespace std; 4 5 int main() 6 { 7 char *p1= "123"; 8 char *p2= "ABC"; 9 char str[50]= "xyz"; 10 strcat(p1,p2); 11 strcpy(str+2,p1); 12 cout<&l