【C语言】自己代码实现字符串相关的常用API

本文介绍了如何在C语言中实现从键盘获取字符串(get)、输出字符串(put)、计算字符串长度(strlen)、拷贝字符串(strcpy)、合并字符串(strcat)以及比较字符串(strcmp)的基本功能。这些函数是C程序处理文本数据的基础。
摘要由CSDN通过智能技术生成

1、实现get(char *);从键盘获取字符串
void myget(char *str)
{	
	while(1)
	{	
		scanf("%c",str);
		if(*str=='\n')
		{	
		    *str='\0';
			return;
		}
		str++;
	 } 
}
2、实现put(char *);输出字符串
void myput(char *str)
{
	while(*str!='\0')
	{
		printf("%c",*str++);
	
	}
	printf("\n");
	return;
}
3、实现strlen(char *);求字符串长度
int mystrlen(char *str)
{	
	int len=0;
    while(1)
    {
    		if(*str=='\0')
    		{
    		
    			return len;
			}
	    	str++;
	    	len++;
	}	
}
4、实现strcpy(char *,char *);拷贝str2的内容到str1;
void mystrcpy(char * str1,char * str2)
{
	while(*str2!='\0')
	{
		*str1=*str2;
		str1++;
		str2++;
	}
}
5、实现strcat(char *,char *);合并字符串,把str2的内容合并到str1的后面
void mystrcat(char *str1,char *str2)
{
	while(*str1!='\0')
	{
		str1++;
	}
	while(*str2!='\0')
	{
		*str1=*str2;
		str2++;
		str1++;
	}
	return;
 } 
6、实现strcmp(char ,char)比较字符串大小,若两字符串内容完全相同,返回0,若str1比str2长返回1,str1比str2短则返回-1,长度相同内容不同也返回-1
int mystrcmp(char *str1,char *str2)
{	
	int str1len=0;
	int str2len=0;
	while(*str1!='\0') 
	{
		str1++;
		str1len++;
	}
	while(*str2!='\0') 
	{
		str2++;
		str2len++;
	}
	if(str1len-str2len==0){
		for(int i=0;i<str1len;i++)
		{
			if(*str1==*str2){
				str1--;
				str2--;
			}
			else{
				return -1;
			}
		}
		return 0;
		
	}
	else if(str1len-str2len>0){
	return 1;
    }
    else {
    return -1;
	}
} 

以上仅是个人思路,并非算法最优

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咖喱年糕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值