首页 > 其他分享 >模拟实现库函数strcat、strcmp

模拟实现库函数strcat、strcmp

时间:2025-01-21 21:57:09浏览次数:3  
标签:return dest str2 str1 strcat char strcmp 库函数

strcat:字符串追加

模拟实现strcat

#include <stdio.h>
#include <assert.h>
char* my_strcat(char* dest, const char* src)
{
	assert(dest);
	assert(src);
	char* ret = dest;//记录起始地址
    //1. 找到目标空间的末尾,即'\0'
	while (*dest != '\0')
	{
		dest++;
	}
	//2. 拷贝字符串
	while (*dest++ = *src++)
	{
		;
	}
	return ret;
}
int main()
{
	char arr1[20] = "hello ";
	my_strcat(arr1,"world");
	printf("%s\n", arr1);
	return 0;
}

strcmp:比较两个字符串是否相等

模拟实现strcmp

#include <stdio.h>
#include <assert.h>
int my_strcmp(const char* str1,const char* str2)
{
	assert(str1 && str2);
	while (*str1 == *str2)
	{
		if (*str1 == '\0')
			return 0;//相等
		str1++;
		str2++;
	}
	if (*str1 > *str2)
		return 1;
	else
		return -1;
}
int main()
{
	char arr1[] = "abc";
	char arr2[] = "ac";
	int ret = my_strcmp(arr1, arr2);
	if (ret < 0)
	{
		printf("<\n");
	}
	else if (ret == 0)
	{
		printf("==\n");
	}
	else
	{
		printf(">\n");
	}
	return 0;
}

标签:return,dest,str2,str1,strcat,char,strcmp,库函数
From: https://blog.csdn.net/2301_80247375/article/details/145232129

相关文章

  • 模拟实现库函数strlen
    strlen统计字符串中‘\0’前面出现的字符个数(不包含‘\0’)返回类型:size_t,其实就是unsignedint,即无符号整型方法一:计数器#include<stdio.h>#include<assert.h>size_tmy_strlen(constchar*str){ size_tcount=0; assert(str); while(*str!='\0') { count......
  • STM32 HAL库函数入门指南:从原理到实践
    1STM32HAL库概述STM32HAL(HardwareAbstractionLayer)库是ST公司专门为STM32系列微控制器开发的一套硬件抽象层函数库。它的核心设计理念是在应用层与硬件层之间建立一个抽象层,这个抽象层屏蔽了底层硬件的具体实现细节,为开发者提供了一套统一的、标准化的应用程序接口(API)......
  • 使用库函数 API 和 C 代码中嵌入汇编代码两种方式使用同一个系统调用
    实验四使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用实验内容选择一个系统调用(13号系统调用time除外),系统调用列表参见torvalds/linux。参考视频中的方式使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用实验过程使用库函数API#......
  • 【重要】random随机库函数用法示例
    根据以下列表,从序号、函数名、用途、示例,用表格显示每个函数的信息['betavariate','choice','choices','expovariate','gammavariate','gauss','getrandbits','getstate','lognormvariate','nor......
  • posix标准库函数整理
    POSIX标准定义的必须的头文件(26项)<fcntl.h> ----------------------文件控制<sys/types.h> ----------------------基本系统数据类型(很多类型其实都是用typedef重定义的,和基本类型没什么区别;只是为了定义pid_t,size_t,没别的意思)<sys/stat.h> ----------------------文件状......
  • STM32 库函数的学习1
        初始化函数,结构体的定义。一直用,不过还真不知道是个结构体呢,所以对结构体这个用法不熟练呢,近期学习正点原子的视频了解到了。    h就是头文件函数库,结构就是:        #ifndef __LED_H__        #define__LED_H__//如果没有定义,下面就......
  • 【C语言1】C语言常见概念(总结复习篇)——库函数、ASCII码、转义字符
    文章目录前言一、C语言是什么?二、编译器的选择——VS2022三、main函数四、printf函数五、库函数六、关键字七、字符和ASCII编码八、字符串和'\0'九、转义字符十、注释总结前言上周考完四级(明年再战hh)和两门考试,接下来一个月将迎来其他学科的期末考试,所以这一个月......
  • 【重要】collections库函数简介及简单用法示例
    【重要】collections库函数简介及简单用法示例collections提供了一些有用的集合类,如deque、Counter等,方便进行数据处理。根据以下列表,用表格形式,从序号、函数名、简介、简单用法示例几方面显示每个函数的信息。太长的用法示例以序号+函数名+“示例:”为题,分别移到表格下方,不要破......
  • 【重要】functools库函数简介及简单用法示例
    【重要】functools库函数简介及简单用法示例functools提供了一些用于函数操作的函数,如partial、lru_cache等,方便进行函数式编程。表格部分:序号函数名简介1partial创建一个新的可调用对象,固定原函数的部分参数2lru_cache缓存函数调用的结果,基于LRU(最近最少使用......
  • 【重要】itertools库函数简介及简单用法示例
    itertools 提供了一些用于操作迭代器的函数,如chain、islice等,方便进行迭代操作。以下是根据您提供的列表,以表格形式显示的itertools库函数的简介及简单用法示例:序号函数名简介简单用法示例1accumulate对输入迭代器中的元素进行累积操作,返回累积结果2chain将......