C语言strlen,strcat,strcpy,strcmp,strlwr,strupr(自写函数)_strlen strlwr strupr-程序员宅基地

技术标签: C语言笔记  

指针自写库函数(但肯定没有库函数高效)
解释都在注释里了,手机打字费劲

/*
* strlen1()用来测量一个字符串的有效长度
* strcat1()将第二个字符串拼接到第一个字符串的后面
* strcpy()将后一个字符串复制到前一个字符串
* strcmp1()字符串比较函数,
  根据返回值判断哪个大小<1 == 2->0,1>2->1,1<2->-1>
  1.”A”<“B” 2.”A”<“AB” 3.”Apple”<“Banana”
  4.”A”<“a” 5.”compare”<“computer”

* strlwr1()将字符串内大写字母全部转化为小写
* strupr1()将字符串内小写字母全部转化为大写
*/
#include <stdio.h>

int strlen1(char* pr);
void strcat1(char* pr, char* qw);
int strcmp1(char* pr, char* qw);
void strlwr1(char* pr);
void strupr1(char* pr);
int main(void)
{
    
	char word1[100] = "LikeC";//足够位置保证可以让word2夫进来
	char word2[20] = "LikeJAVA";
	return 0;
}
int strlen1(char * pr)//pr保存word1首地址
{
    
	int i = 0;
	while(* (pr+i) != '\0')
	{
     
		i++;
	}
	return i;
}
void strcat1(char * pr, char * qw)//传两个字符数组首地址
{
    
	int i = 0,q = 0;
	while (*(pr + i) != '\0')
	{
    
		i++;
	}
	while (*(qw + q) != '\0')
	{
    
		*(pr + i) = *(qw + q);
		i++; q++;
	}
}
int strcmp1(char * pr, char * qw)
{
    
	int i = 0;
	while ((*(pr + i) == *(qw + i))&& (*(pr + i) != '\0')&& (*(qw + i) != '\0'))
	{
    
		i++;
	}
	if (*(pr + i) > *(qw + i))
		return 1;
	if (*(pr + i) < *(qw + i))
		return -1;
	else return 0;
}
void strlwr1(char* pr)
{
    
	int i = 0;
	while (*(pr + i) != '\0')
	{
    
		if (*(pr + i) >= 'A' && *(pr + i) <= 'Z')
			*(pr + i) = *(pr + i)+32;
		i++;
	}
}
void strupr1(char* pr)
{
    
	int i = 0;
	while (*(pr + i) != '\0')
	{
    
		if (*(pr + i) >= 'a' && *(pr + i) <= 'z')
			*(pr + i) = *(pr + i) - 32;
		i++;
	}
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_53264919/article/details/118032286

智能推荐

unique_lock_unique_lock unique_lock-程序员宅基地

文章浏览阅读122次。//一.unique_lock取代lock_guard//unique_lock 是个类模板,工作中,一般lock_guard(推荐使用);lock_guard 取代了lock()和unlock()//unique_lock 比lock_guard 灵活很多;效率上差一点,内存占用多一点。//二.unique_lock的第二个参数://2.1:std::adopt_lock:起标记作用,表示这个互斥量已经被lock了(所以必去把互斥量提前lock了,否则会报异常)//2.2:std::try_to_unique_lock unique_lock

2D-Position _position_ids 2d-程序员宅基地

文章浏览阅读678次。2D-Position 允许通过拖曳移动绝对定位的对象。 AbsolutePosition 设定元素的 position 属性为“absolute”(绝对)。 BackColor 设置或获取当前选中区的背景颜色。 BlockDirLTR 目前尚未支持。 BlockDirRTL 目前尚未支持。 Bold 切换当前选中区的粗体显示与否。 BrowseMode 目前尚未支持。 Copy 将当前选中区复制_position_ids 2d

ASP.NET 4.0 专题实务(II) – 范例应用与4.0新功能(VB / C#双语法)的「勘误表」-程序员宅基地

文章浏览阅读106次。虽然这几本是在台湾出版、发行的,但仍有少数的朋友在内地买到。为了提供售后服务,我也公布书本的「勘误表」。谢谢各位的支持。ASP.NET 4.0 專題實務(II) – 範例應用與4.0新功能(VB / C#雙語法)(松崗出版)ASP.NET 4.0 专题实务(II) – 范例应用与4.0新功能(VB/ C#双语法)(松岗出版)================..._asp.net专题实务

css选择器nth-child(n)、first-child、last-child_css nth-child(n)匹配元素为-程序员宅基地

文章浏览阅读797次。&amp;amp;gt; 1:nth-child(n)选择器匹配父元素中的第n个子元素。1: nth-child(3)选择列表的第三个元素p:nth-child(3){background:#ccc;}2: nth-child(2n) 选择列表中的偶数标签 2 4 6 8 nth-child(2n-1) 选择列表中的偶数标签 1 3 5 7p:nth-child(2n/2n-1){..._css nth-child(n)匹配元素为

wolfSSL_connect失败错误码-188_ssl error 188-程序员宅基地

文章浏览阅读1.3k次。记录:wolfssl使用过程中遇到,调用wolfSSL_connect返回值小于0,wolfSSL_get_error得到错误码为-188;wolfcrypt/error_crypt.h中对错误码定义为: ASN_NO_SIGNER_E = -188, /* ASN no signer to confirm failure */查找网上资料比较少,官方论坛解答..._ssl error 188

品牌如何在抖音提高产品转化?_品牌抖音内容号如何转化销售-程序员宅基地

文章浏览阅读269次。如何提高品牌产品转化_品牌抖音内容号如何转化销售

随便推点

linux 进程间使用unix socket通信_linux unix socket-程序员宅基地

文章浏览阅读1.2w次,点赞6次,收藏41次。前言:前些天实现了unix socket的通信,本想完完全全自己写一篇博客记录下来,但写的时候发现对于socket知识的理解还有所欠缺,故引用其他博客写的比较好的部分综合一下,这样让大家更容易理解。一、Unix socket概述(参考于博客http://blog.csdn.net/bingqingsuimeng/article/details/8470029):socket API_linux unix socket

ignite客户端调用报错 Ignite instance with provided name doesn't exist_org.apache.ignite.igniteillegalstateexception: gri-程序员宅基地

文章浏览阅读1.2k次。Disconnected from the target VM, address: '127.0.0.1:58990', transport: 'socket'Exception in thread "main" class org.apache.ignite.IgniteException: Remote job threw user exception (override or implem..._org.apache.ignite.igniteillegalstateexception: grid is in invalid state to p

YOLOv8项目实践——目标检测、实例分割、姿态估计、目标追踪算法原理及模型部署(Python实现带界面)-程序员宅基地

文章浏览阅读1.9k次,点赞39次,收藏16次。这是一个集成了YoloV8目标检测、实例分割、姿态估计与目标追踪的项目,界面是用PyQt5写的,可以读入图像,视频与摄像头。

英文文本处理与NLTK库_英文分词的步骤包括( )。根据空格拆分单词 去停用词 提取词干 规则映射 我的答案:-程序员宅基地

文章浏览阅读2.2k次,点赞2次,收藏26次。英文文本处理:有分词,去停用词,提取词干,词性分析,依赖分析,命名实体识别等步骤。目的是为了文本分类建模和文本相似度建模做到更高的准确率。后面会用到深度学习提高准确率。1.英文文本处理与NLTK库文本处理解决分类,解决情感分析,解决翻译等等一系列问题。接下来我们来看一下,在英文文本当中,基本的处理文本的一些操作。1.1 英文Tokenization(标记化/分词)不能直接送到模型当中进..._英文分词的步骤包括( )。根据空格拆分单词 去停用词 提取词干 规则映射 我的答案:

如何在react的Hook中异步请求数据_react hook 异步请求-程序员宅基地

文章浏览阅读3.9k次。如何在react的Hook中请求数据原文:How to fetch data with React Hooks?In this tutorial, I want to show you how to fetch data in React with Hooks by using the state and effect hooks. We will use the widely known Hacker News API to fetch popular articles from the tech_react hook 异步请求

mysql 日期类型比价_MySQL 日期时间类型怎么选?-程序员宅基地

文章浏览阅读116次。构建数据库写程序避免不了使用日期和时间,对于数据库来说,有多种日期时间字段可供选择,如 timestamp 和 datetime 以及使用 int 来存储 unix timestamp。不仅新手,包括一些有经验的程序员还是比较迷茫,究竟我该用哪种类型来存储日期时间呢?那我们就一步一步来分析他们的特点,这样我们根据自己的需求选择合适的字段类型来存储 (优点和缺点是比较出来的 , 跟父母从小喜欢拿邻..._mysql timestamp比价

推荐文章

热门文章

相关标签