栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

常用字符串函数(二)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

常用字符串函数(二)

C语言字符串函数(二) strcpy函数
char* strcpy(char * destination, const char * source );
  • 功能;将Source字符串拷贝到Destination空间中
  • 返回值:返回Destination字符串起始地址
  • 空间:Destination字符串空间应足够大来存放Source字符串
strcpy函数模拟实现
#include
char * mystrcpy(char* dest, const char* src)
{                                                  
	if (dest == NULL || src == NULL) {
		return 0;//判断指针是否为空
	}
	char* pdest = dest;
	
	while (*pdest++=*src++) {

	}
	将Source空间的‘’,也拷贝到Destination空间
	return dest;

}
int main()
{
	char arr[] = "This is a string.";
	char arr1[128]="";
	printf("%sn", mystrcpy(arr1,arr));
	return 0;
}

strncpy函数
char * strncpy ( char * destination, const char * source, size_t num );
  • 功能:从source字符串中拷贝num长度的字符到destination空间中
  • 返回值:返回dest字符串的起始地址
    注意如果src字符串大于等于num时,有num个字符被复制到dest中且不以结尾,当src字符串小于num时,src字符串全部被复制到dest中且后续字符用补上
strncpy函数模拟实现
#include
char * mystrncpy(char* dest, const char* src,size_t num)
{                                                  
	if (dest == NULL || src == NULL) {
		return 0;//判断指针是否为空
	}
	int count = num;
	char* pdest = dest;
	while (*src != ''&&count>0) {
		*pdest = *src;
		pdest++;
		src++;
		count--;
	}
	while (count>0) {
		*pdest = '';
		count--;//注意如果src字符串大于等于num时,有num个字符被复
		        //制到dest中且不以结尾,当src字符串小于num时,
		        //src字符串全部被复制到dest中且后续字符用补上
		pdest++;
	}
	
	
	return dest;

}
int main()
{
	char arr[128] = "hello";
	char arr1[128]="This is a string";
	printf("%sn", mystrncpy(arr1,arr,12));
	return 0;
}


strcmp函数
int strcmp ( const char * str1, const char * str2 );
  • 功能: 对两个字符串的ascⅡ码值进行逐个比较,比较出字符串大小
  • 返回值:str1大于str2,返回值大于0;str1小于str2,返回值小于0;str1等于str2,返回值等于0
strcmp函数模拟实现
#include
int mystrcmp(const char* ptr1, const char* ptr2)
{           
	
	while (*ptr1 == *ptr2&& ptr1!='' && ptr2 != '') {
		ptr1++;
		ptr2++;
	}
		return *ptr1 - *ptr2;
	
}
int main()
{
	char arr[128] = "aaaa";
	char arr1[128] = "aaaab";
	printf("%dn", mystrcmp(arr,arr1));
	return 0;
}

strncmp函数
int strncmp(const char* str1, const char* str2, size_t num)

功能:返回num字符串之前的字符串大小

strncmp函数模拟实现
#include
int mystrncmp(const char* str1, const char* str2, size_t num)
{           
	
	while (*str1 == *str2&& str1!='' && str2 != ''&&num>0) {
		str1++;
		str2++;
		num--;
	}
	if (num == 0) {
		return 0;
	}
		return *str1 - *str2;
	
}
int main()
{
	char arr[128] = "aaaa";
	char arr1[128] = "aaaab";
	printf("%dn", mystrncmp(arr,arr1,5));
	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1002078.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号