当前位置:网站首页>用C语言实现重写strcmp等四个函数
用C语言实现重写strcmp等四个函数
2022-04-23 05:46:00 【OceanKeeper1215】
#include <stdio.h>
#include <string.h>
#include <assert.h>
size_t str_len(const char* str)
{
// if(NULL == str) return -1;
assert(NULL != str);
const char* tmp = str;
while(*tmp) tmp++;
return tmp - str;
}
char* str_cpy(char* dest,const char* src)
{
assert(NULL != dest && NULL != src);
char* tmp = dest;
while(*tmp++ = *src++);
return dest;
}
char* str_cat(char* dest,const char* src)
{
assert(NULL != dest && NULL != src);
char* tmp = dest;
while(*tmp) tmp++;
while(*tmp++ = *src++);
return dest;
}
int str_cmp(const char* s1,const char* s2)
{
assert(NULL != s1 && NULL != s2);
while(*s1 && *s1 == *s2) s1++,s2++;
// return *s1-*s2;
if(*s1 > *s2)
return 1;
else if(*s1 < *s2)
return -1;
else
return 0;
}
int main(int argc,const char* argv[])
{
char str[256] = "hehe";
char* str1 = NULL;
// strcpy(str,str1);
printf("str_len: %d\n",str_len(str1));
printf("str_cpy: %s\n",str_cpy(str,"abc"));
printf("str_cat: %s\n",str_cat(str,"qqq"));
printf("str_cmp: %d\n",str_cmp("abb","abb"));
}
版权声明
本文为[OceanKeeper1215]所创,转载请带上原文链接,感谢
https://blog.csdn.net/OceanKeeper1215/article/details/121249560
边栏推荐
猜你喜欢
![[leetcode 19] delete the penultimate node of the linked list](/img/ba/3c73fba8c4b4e3de7e506670144890.png)
[leetcode 19] delete the penultimate node of the linked list

The most practical chrome plug-in

SQL -- data filtering and grouping

20 excellent plug-ins recommended by idea

List segmentation best practices

Addition, deletion, query and modification of data

-- SQL query and return limit rows

解决ArcGIS分区统计显示太多唯一值执行失败

1007 go running (hdu6808) in the fourth game of 2020 Hangzhou Electric Multi school competition

Installation and usage skills of idea
随机推荐
自动控制原理知识点整合归纳(韩敏版)
SVN简单操作命令
selenium+webdriver+chrome实现百度以图搜图
程序设计训练
LockSupport. Park and unpark, wait and notify
Gesture recognition research
@Problems caused by internal dead loop of postconstruct method
SQL optimization best practices
MySQL best practices for creating tables
線性代數第一章-行列式
Integers have friends interval GCD + double pointer
Rust:如何实现一个线程池?
Export the articles written in CSDN to PDF format
6.Reversal
Why does the subscript of the array start from 0 instead of 1?
Sakura substring thinking
根据SQL语句查询出的结果集,将其封装为json
Plane semi intersecting plate
Framework analysis 1 Introduction to system architecture
1007 go running (hdu6808) in the fourth game of 2020 Hangzhou Electric Multi school competition