字符(串)函数

news2024/9/20 18:28:42

目录

字符分类函数

函数解释

 示例

字符转换函数

函数解释

示例

strlen()函数

函数解释

示例

strcpy()函数

函数解释 

示例

strcat()函数

函数解释

示例

strcmp()函数

函数解释

示例

限制长度的修正

strncpy

strncat

strncmp


字符分类函数

函数解释

1.字符分类函数是专⻔做字符分类的。

2.如果字符符合函数分类要求,则返回真;不符合则返回假。

 示例

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <ctype.h>
int main()
{
	printf("%d", islower('a'));
	return 0;
}
//2,为真。
//实现把字符串中的小写字母改成大写字母
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <ctype.h>
int main()
{
	char arr[] = "I am A student";
	int i = 0;
	while (arr[i] != '\0')
	{
		//if (arr[i] >= 'a' && arr[i] <= 'z')
		if(islower(arr[i]))
		{
			arr[i] -= 32;
		}
		printf("%c", arr[i]);
		i++;
	}
	return 0;
}

1. 使用字符分类函数时,需要引入<ctype.h>头文件。

2. 字符分类函数的库函数查询:<cctype> (ctype.h) - C++ Reference (cplusplus.com)

字符转换函数

函数解释

C语⾔提供了2个字符转换函数:

1.int tolower()//转化成小写
2.int toupper()//转化成大写

示例

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <ctype.h>
int main()
{
	char arr[] = "I am A student";
	int i = 0;
	while (arr[i] != '\0')
	{
		//if (arr[i] >= 'a' && arr[i] <= 'z')
		if (islower(arr[i]))
		{
			arr[i] = toupper(arr[i]);
		}
		printf("%c", arr[i]);
		i++;
	}
	return 0;
}

1.使用字符分类函数时,需要引入<ctype.h>头文件。

2. 字符分类函数的库函数查询:<cctype> (ctype.h) - C++ Reference (cplusplus.com)

strlen()函数

函数解释

1.字符串以 '\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前⾯出现的字符个数(不包含 '\0' )。

2.参数指向的字符串必须要以 '\0' 结束,否则返回随机值。

3.注意函数的返回值为 size_t,是⽆符号的( 易错 )。

4.strlen的使⽤需要包含头⽂件<string.h>.

示例

#include <stdio.h>
#include <string.h>
int main()
{
     const char* str1 = "abcdef";
     const char* str2 = "bbb";
     if(strlen(str2)-strlen(str1)>0)
     {
         printf("str2>str1\n");
     } 
     else
     {
         printf("srt1>str2\n");
     }
     return 0;
}
//结果是第一种。

strcpy()函数

函数解释 

1. strcpy----string copy,字符串复制。

2. strcpy(arr1,arr2),先把arr1内容清空,再把arr2的内容拷贝到arr1中,返回arr1。

3. 源字符串必须以'\0'结束。

4. 目标字符串必须能修改。

5. strcpy()函数的使⽤需要包含头⽂件<string.h>.

示例

strcpy(目标字符串,源字符串);
#include <stdio.h>
#include <string.h>
int main()
{
	char arr2[] = { "hello bit" };
	char arr1[15] = { 0 };
	printf("%s", strcpy(arr1, arr2));
    arr1=arr2;//报错,相当于3=5
	return 0;
}

strcat()函数

函数解释

1. strcat--string contact,字符串拼接函数。

2. 两个字符串必须以 '\0' 结束。(与函数运行原理有关)

3. strcat()函数的使⽤需要包含头⽂件<string.h>.

4. strcat(arr1,arr2)函数把arr2加在arr1后面,然后得到的是最新的arr1。

5. arr1需要有足够的空间,并且可以改变。

示例

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main()
{
	char arr1[20] = "hello ";
	char arr2[10] = "world";
	printf(strcat(arr1, arr2));
	return 0;
}

strcmp()函数

函数解释

1. strcmp--string compare,字符串或者数组之间的比较。

2. 字符串不能直接(==)进行比较,需要运用strcmp()函数。

3. strcmp(arr1,arr2);如果arr1>arr2,返回>0的值;如果arr1<arr2,返回<0的值;如果arr1=arr2,返回0.

示例

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main()
{
	char arr1[20] = "abce";
	char arr2[10] = "abcd";
	printf("%d",strcmp(arr1, arr2));
	return 0;
}

限制长度的修正

strncpy

1.拷⻉num个字符从源字符串到⽬标空间。

2. 如果源字符串的⻓度⼩于num,则拷⻉完源字符串之后,在⽬标的后边追加0,直到num个。

#include <stdio.h>
#include <string.h>
int main()
{
	char arr1[] = { "hello bit" };
	char arr2[15] = { "woshishei"};
	printf( strncpy(arr2, arr1,3));//只针对双方前三个字符
	return 0;
}

strncat

1.同上

#include <stdio.h>
#include <string.h>
int main()
{
	char arr1[30] = { "hello bit" };
	char arr2[15] = { "woshishei"};
	printf( strncat(arr2, arr1,5));
	return 0;
}

strncmp

1.同上

#include <stdio.h>
#include <string.h>
int main()
{
	char arr1[30] = { "abce" };
	char arr2[15] = { "abcd"};
	printf("%d" ,strncmp(arr2, arr1, 3));
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2149678.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【内核通信机制】上

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ 子系统开发内核 轻量系统内核&#xff08;LiteOS-M&#xff09; 轻量系统内核&#…

操作系统迁移(CentOs -> Ubuntu)

目录 1. CentOs操作系统:备份数据 1.1 gitee备份 1.1.1 CentOs安装git 1.1.1.1 运行安装命令 1.1.1.2 运行安装命令时出错 1.1.1.3 再次执行安装命令 1.1.2 gitee创建仓库 1.1.2.1 创建仓库 1.1.3 备份 1.1.3.1 复制链接 1.1.3.2 克隆仓库 1.1.3.3 备份 1.3.3.4 查…

docker学习第一步:基于Linux安装docker

要求Linux下的CentOS 7.0 以上的版本 01 安装docker版本仓库 1、设置仓库 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2、稳定仓库 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 02 安装及使用do…

一文看懂误植域名的威胁和对策

你熟悉“误植域名”&#xff08;typosquatting&#xff09;这个术语吗&#xff1f;这是一种域名抢注&#xff0c;可能会损害你的品牌和声誉。我们在这篇博文中将探讨误植域名是什么、它与域名抢注的区别&#xff0c;并提供如何防止这种行为的要点。另外&#xff0c;我们将讨论沦…

选择优质代理IP建议分享

“在互联网的广阔世界中&#xff0c;代理IP作为一种重要的网络工具&#xff0c;扮演着连接用户与目标服务器之间的桥梁角色。不同类型的代理IP适用于不同的场景和需求&#xff0c;因此选择合适的代理IP类型对于提高网络访问效率、保护用户隐私至关重要。” 一、代理IP类型概述 …

如何在多台Linux虚拟机上安装和配置Zookeeper集群

Zookeeper 是一个高性能的协调服务&#xff0c;广泛应用于分布式系统中。本文将详细介绍如何在多台Linux虚拟机上安装和配置Zookeeper集群。下面以三台服务器&#xff08;node1、node2、node3&#xff09;进行讲解。 前置准备&#xff1a; 配置多台Linux虚拟机参考&#xff1a;…

跨国公司决策的影响与中国IT产业的应对

跨国公司在华研发中心的调整是一个复杂的现象&#xff0c;它可能受到多种因素的影响&#xff0c;包括全球经济环境的变化、成本考量、战略重心的转移以及地缘政治因素等。IBM中国研发中心的撤出可能会对中国IT行业造成短期的就业压力&#xff0c;加速人才流动&#xff0c;并促使…

YOLOv5白皮书-第Y1周:调用官方权重进行检测

>- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营](小团体&#xff5e;第八波) 中的学习记录博客** >- **&#x1f356; 原作者&#xff1a;[K同学啊](K同学啊-CSDN博客)** 一、前言 拖了好久&#xff0c;终于要开始目标检测系列了。自己想过好几次&#xf…

【Python机器学习】NLP信息提取——值得提取的信息

目录 提取GPS信息 提取日期 如下一些关键的定量信息值得“手写”正则表达式&#xff1a; GPS位置&#xff1b;日期&#xff1b;价格&#xff1b;数字。 和上述可以通过正则表达式轻松捕获的信息相比&#xff0c;其他一些重要的自然语言信息需要更复杂的模式&#xff1a; 问…

Linux入门学习:Linux调试器gdb使用

1. 背景 程序的发布方式有两种&#xff0c;debug模式和release模式&#xff0c;debug是添加调试信息&#xff0c;release是取消调试信息&#xff0c; Linux gcc/g出来的二进制程序&#xff0c;默认是release模式&#xff0c;要使用gdb调试&#xff0c;必须在源代码生成二进制程…

html+css+js网页设计 旅游 穷游10个页面

htmlcssjs网页设计 旅游 穷游10个页面 网页作品代码简单&#xff0c;可使用任意HTML辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源码 1&#xff…

SpringCloud微服务消息驱动的实践指南

Spring Cloud是一个用于构建分布式系统的开发工具&#xff0c;通过它可以快速搭建基于微服务架构的应用&#xff0c;并提供了丰富的功能和解决方案。在Spring Cloud中&#xff0c;消息驱动是一种常见的通信模式&#xff0c;通过消息传递来实现不同微服务之间的数据交互。本文将…

文件上传js代码

大家好&#xff0c;很久没更新了&#xff0c;今天空了&#xff0c;记录一下文件上传js代码。(自己搭建的网站&#xff0c;演示学习一下这种漏洞&#xff0c;不要做违法的事情&#xff01;&#xff01;&#xff01;) 一般文件上传的话都是奔着getshell去的&#xff0c;但是一般…

【Linux 20】线程控制

文章目录 &#x1f308; 一、创建线程⭐ 1. 线程创建函数⭐ 2. 创建单线程⭐ 3. 给线程传参⭐ 4. 创建多线程⭐ 5. 获取线程 ID &#x1f308; 二、终止线程⭐1. 使用 return 终止线程⭐ 2. 使用 pthread_exit 函数终止线程⭐ 3. 使用 pthread_cancel 函数终止线程 &#x1f30…

Python中lambda表达式的使用——完整通透版

文章目录 一、前言二、 基本语法三、举个简单的例子&#xff1a;四、常见应用场景1. 用于排序函数sort() 方法简介lambda 表达式的作用详细解释进一步扩展总结 2、与 map、filter、reduce 等函数结合1、 map() 函数示例&#xff1a;将列表中的每个数字平方 2、 filter() 函数示…

Centos 7 搭建Samba

笔记&#xff1a; 环境&#xff1a;VMware Centos 7&#xff08;网络请选择桥接模式&#xff0c;不要用NAT&#xff09; 遇到一个问题就是yum 安装404&#xff0c;解决办法在下面&#xff08;没有遇到可以无视这句话&#xff09; # 安装Samba软件 yum -y install samba# 创建…

Shader Graph Create Node---Channel

二、Channel 1、Combine(合并通道) 2、Flip(翻转) 3、Split(分离) 4、Swizzle(交换)

ELK环境部署

目录 环境准备 Elasticsearch 部署 安装Elasticsearch Elasticsearch-head 插件 安装node 安装 phantomjs 安装 Elasticsearch-head Logstash 安装部署 Kibana 安装部署 ELFK 本章纯搭建过程&#xff0c;几乎无任何注释解释 环境准备 ELK的搭建和测试&#xff0c;…

力扣(LeetCode)每日一题 2576. 求出最多标记下标

题目链接https://leetcode.cn/problems/find-the-maximum-number-of-marked-indices/description/?envTypedaily-question&envId2024-09-12 思路&#xff1a; 先排序&#xff0c;然后定义双指针 left&#xff0c;right&#xff0c;贪心遍历&#xff0c;左指针在中间&…

机器狗与无人机空地协调技术分析

随着科技的飞速发展&#xff0c;机器狗与无人机作为智能机器人领域的杰出代表&#xff0c;正逐步在军事侦察、灾害救援、环境监测、农业植保等多个领域展现出巨大的应用潜力。本文旨在深入探讨机器狗与无人机之间的空地协调技术&#xff0c;分析其在复杂环境中的协同作业机制、…