字符串函数(strncat,strncmp,strncpy)实现

//模拟实现strncat
char *Mystrncat(char* arr1, const  char* arr2, int n){
    
    
	char* end = arr1;
	assert(arr1);
	assert(arr2);
	//将arr2内容复制到arr1中n个

	while (*arr1 != '\0'){
    
    
		arr1++;
	}
	while (n--){
    
    
		*arr1 = *arr2;
		arr1++;
		arr2++;
	}
	*arr1 = '\0';
	return end;

}
//模拟实现strncpy
char* Mystrncpy(char* arr1, const char* arr2, int n){
    
    
	assert(arr1);
	assert(arr2);
	char* p = arr1;
	for (int i = 0; i < n; i++){
    
    
		*arr1 = *arr2;
		arr1++;
		arr2++;
	}
	*arr1 = '\0';
	return p;
}
//模拟实现strncmp
int Mystrncmp(const char* str1, const char* str2,int n){
    
    
	assert(str1 != NULL&&str2 != NULL);
	while (*str1 == *str2&&*str1 != '\0'&&*str2 != '\0'&&*str1 == *str2){
    
    
		str1++;
		str2++;
	}
	return *str1 - *str2;
}

猜你喜欢

转载自blog.csdn.net/zhaocx111222333/article/details/114685486
今日推荐