当前位置: 首页 > news >正文

C标准库<string.h>-str、strn开头的函数

char *strcat(char *dest, const char *src)

函数功能

strcat 函数用于将一个字符串追加到另一个字符串的尾部。

参数解释

  • dest:指向目标字符串的指针,这个字符串的尾部将被追加 src 字符串的内容。
  • src:指向源字符串的指针,其内容将被追加到 dest 字符串的尾部。

返回值

  • 返回指向目标字符串 dest 的指针。

函数实现

函数用法

#include <stdio.h>
#include <string.h>int main() {char dest[50] = "Hello,";const char *src = "World!";// 将src追加到dest的尾部strcat(dest, src);printf("Concatenated String: '%s'\n", dest);return 0;
}
Concatenated String: 'Hello, World!'

 char *strncat(char *dest, const char *src, size_t n) 

函数功能

strncat 函数用于将一个字符串的一部分追加到另一个字符串的尾部,最多追加指定的字符数。

参数解释

  • dest:指向目标字符串的指针,这个字符串的尾部将被追加 src 字符串的内容。
  • src:指向源字符串的指针,其内容将被追加到 dest 字符串的尾部。
  • n:最大的字符追加数,包括空字符。

返回值

  • 返回指向目标字符串 dest 的指针。

函数实现

函数用法

#include <stdio.h>
#include <string.h>int main() {char dest[50] = "Hello, ";char *src = "World! This is a test.";// 将src的前14个字符追加到dest的尾部strncat(dest, src, 14);printf("Concatenated String: '%s'\n", dest);return 0;
}
Concatenated String: 'Hello, World! This is'
请按任意键继续. . .

char *strchr(const char *str, int c) 

函数功能

strchr 函数用于在一个字符串中查找第一次出现的指定字符。

参数解释

  • str:指向要搜索的字符串的指针。
  • c:要搜索的字符(以整数形式给出)。

返回值

  • 如果找到了字符 c,则返回指向找到的第一个匹配字符的指针。
  • 如果没有找到,则返回 NULL

函数实现

函数用法

#include <stdio.h>
#include <string.h>int main() {char *str = "Hello, World!";int c = 'W';// 使用 strchr 查找字符 'W'char *result = strchr(str, c);if (result) {printf("Character '%c' found at position: %ld\n", c, result - str + 1);} else {printf("Character '%c' not found.\n", c);}return 0;
}
Character 'W' found at position: 8
请按任意键继续. . .

int strcmp(const char *str1, const char *str2)

函数功能

strcmp 函数用于比较两个字符串,并根据比较结果返回一个整数

参数解释

  • str1:指向第一个要比较的字符串的指针。
  • str2:指向第二个要比较的字符串的指针。

返回值

  • 如果 str1 小于 str2,则返回负整数。
  • 如果 str1 等于 str2,则返回 0
  • 如果 str1 大于 str2,则返回正整数。

函数实现

函数用法

#include <stdio.h>
#include <string.h>int main() {const char *str1 = "Hello";const char *str2 = "Hell";const char *str3 = "Hello";int result1 = strcmp(str1, str2);int result2 = strcmp(str1, str3);if (result1 < 0) {printf("'%s' is less than '%s'\n", str1, str2);} else if (result1 > 0) {printf("'%s' is greater than '%s'\n", str1, str2);} else {printf("'%s' is equal to '%s'\n", str1, str2);}if (result2 < 0) {printf("'%s' is less than '%s'\n", str1, str3);} else if (result2 > 0) {printf("'%s' is greater than '%s'\n", str1, str3);} else {printf("'%s' is equal to '%s'\n", str1, str3);}return 0;
}
'Hello' is greater than 'Hell'
'Hello' is equal to 'Hello'
请按任意键继续. . .

下面的程序,和上面的程序有一点点不同,结果也不一样。 

#include <stdio.h>
#include <string.h>int main() {const char *str1 = "Healo";const char *str2 = "Hell";const char *str3 = "Hello";int result1 = strcmp(str1, str2);int result2 = strcmp(str1, str3);if (result1 < 0) {printf("'%s' is less than '%s'\n", str1, str2);} else if (result1 > 0) {printf("'%s' is greater than '%s'\n", str1, str2);} else {printf("'%s' is equal to '%s'\n", str1, str2);}if (result2 < 0) {printf("'%s' is less than '%s'\n", str1, str3);} else if (result2 > 0) {printf("'%s' is greater than '%s'\n", str1, str3);} else {printf("'%s' is equal to '%s'\n", str1, str3);}return 0;
}
'Healo' is less than 'Hell'
'Healo' is less than 'Hello'
请按任意键继续. . .

函数功能

参数解释

返回值

函数实现

函数用法

函数功能

参数解释

返回值

函数实现

函数用法

相关文章:

C标准库<string.h>-str、strn开头的函数

char *strcat(char *dest, const char *src) 函数功能 strcat 函数用于将一个字符串追加到另一个字符串的尾部。 参数解释 dest&#xff1a;指向目标字符串的指针&#xff0c;这个字符串的尾部将被追加 src 字符串的内容。src&#xff1a;指向源字符串的指针&#xff0c;其…...

Anaconda/Miniconda的删除和安装

要在 MacBook 上删除 Anaconda 或 Miniconda,并重新安装它,您可以按照以下步骤进行操作。 删除 Anaconda/Miniconda 1. 删除 Anaconda/Miniconda 文件和目录 打开 终端 并运行以下命令来删除安装目录。 对于 Anaconda,通常安装在 ~/anaconda3: rm -rf ~/anaconda3对于…...

【Harmony】轮播图特效,持续更新中。。。。

效果预览 swiper官网例子 Swiper 高度可变化 两边等长露出&#xff0c;跟随手指滑动 Swiper 指示器导航点位于 Swiper 下方 卡片楼层层叠一 一、官网 例子 参考代码&#xff1a; // xxx.ets class MyDataSource implements IDataSource {private list: number[] []cons…...

Go 并发模式:管道的妙用

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在编写程序时,我们通常不会一口气写出一个冗长的函数。相反,我们通过构建函数、结构体和方法等抽象来简化代码。这不仅有助于隐藏不重要的细节,还使我们能够专注于某一部分代码,而不必担心影响其他部分。然而…...

CAN通信详解

1、CAN介绍 1.1、什么是CAN? CAN&#xff08;Controller Area Network&#xff09; 即控制器局域网&#xff0c;是ISO国际标准化的串行通信协议。 开发目的&#xff1a;为了满足汽车产业的“减少线束的数量”、“通过多个LAN&#xff0c;进行大量数据的高速通信”…...

52 文本预处理_by《李沐:动手学深度学习v2》pytorch版

系列文章目录 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 文章目录 系列文章目录一、理论部分二、代码读取数据集词元化词表整合所有功能小结练习 一、理论部分 对于序列数据处理问题&#xff0c;我们在序列处理中评估了所需的统计工具和预测时面临的挑战。 …...

【python】字符串扩展-格式化的精度控制

字符串扩展 字符串的三种定义方式字符串拼接字符串格式化格式化的精度控制字符串格式化方式2对表达式进行格式化 学习目标 掌握格式化字符串的过程中做数字的精度控制 字符串格式化 name "小明" set_up_year 2006 stock_price 19.99 message "我是&…...

C++第一次练习

题目1 class Solution { public:bool isletter(char s){if(s<z&&s>a)return true;if(s>A&&s<Z)return true;return false;}string reverseOnlyLetters(string s) {if(s.empty()){return s;}int left,right;left0;rights.size()-1;while(left<ri…...

计算机毕业设计 基于Python的医疗预约与诊断系统 Django+Vue 前后端分离 附源码 讲解 文档

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…...

JAVA基础:正则表达式,String的intern方法,StringBuilder可变字符串特点与应用,+连接字符串特点

1 String中的常用方法2 1.1 split方法 将字符串按照指定的内容进行分割&#xff0c;将分割成的每一个子部分组成一个数组 分割内容不会出现在数组中 实际上该方法不是按照指定的简单的符号进行分割的&#xff0c;而是按照正则表达式进行分割 1.2 正则表达式 用简单的符号组合…...

前端接口报错302 [已解决]

前端接口报错302 [已解决] 在前端开发中&#xff0c;与后端接口的交互是项目成功的关键。然而&#xff0c;遇到如302这样的状态码报错时&#xff0c;可能会让开发者感到困惑。本文将通过详细解析和多个代码案例&#xff0c;帮助你深入理解前端接口报错302&#xff0c;并提供有效…...

【网络安全】利用未授权API接口实现创建Support Ticket

未经许可,不得转载。 文章目录 正文目标为一个技术平台,客户可以通过该平台预订不同类型的服务。 正文 redacted.com 是主域,但所有流量都通过 api.redacted.com。我过去曾使用该公司预订了一些服务,因此我的帐户中有预订历史。 我对我的订单开具了 Support Ticket,此时…...

气压高度加误差的两种方法(直接添加 vs 换算到气压误差),附MATLAB程序

在已知高度真实值时,如果需要计算此高度下的气压计误差,可考虑本文所述的两种方法 气压高度 气压与高度之间的关系可以用大气压的垂直变化来描述。随着高度的增加,气压通常会下降。这是因为空气的密度在高度增加时减少,导致上方空气柱对下方空气施加的压力减小。 主要关系…...

Word 制作会议名牌教程

文章目录 Part.I IntroductionPart.II 制作步骤 Part.I Introduction 本文详细介绍了如何用 Word 制作会议名牌&#xff0c;附有笔者制作好的一个成品&#xff08;戳我下载~&#xff09;。 下面是一些常识 会议名牌尺寸&#xff1a;100mm 180mm Part.II 制作步骤 1、新建文…...

浮动静态路由

浮动静态路由 首先我们知道静态路由的默认优先级是60&#xff0c;然后手动添加一条静态路由优先级为80的路由作为备份路由。当主路由失效的备份路由就会启动。 一、拓扑图 二、基本配置 1.R1: <Huawei>system-view [Huawei]sysname R1 [R1]interface GigabitEthernet…...

JavaWeb初阶 day1

目录 tomcat目录结构 tomcat:web服务器软件 项目部署的方式 直接将项目放到webapps下 配置conf/server.xml文件 在conf\Catalina\localhost创建任意名称的xml文件。在文件中编写 静态项目和动态项目 Servlet Servlet执行原理 Servlet方法&#xff08;生命周期&#x…...

OpenAPI鉴权(二)jwt鉴权

一、思路 前端调用后端可以使用jwt鉴权&#xff1b;调用三方接口也可以使用jwt鉴权。对接多个三方则与每个third parth都约定一套token规则&#xff0c;因为如果使用同一套token&#xff0c;token串用可能造成权限越界问题&#xff0c;且payload交叉业务不够清晰。下面的demo包…...

【Rust练习】16.模式

文章题目来自&#xff1a;https://practice-zh.course.rs/pattern-match/patterns.html 1 &#x1f31f;&#x1f31f; 使用 | 可以匹配多个值, 而使用 … 可以匹配一个闭区间的数值序列 fn main() {} fn match_number(n: i32) {match n {// 匹配一个单独的值1 > println!(…...

深度学习(4):torch.nn.Module

文章目录 一、是什么二、nn.Module 的核心功能三、nn.Module 的基本用法1. 定义自定义模型2. 初始化模型3. 模型的使用 四、nn.Module 的关键特性1. 自动注册子模块和参数2. forward 方法3. 不需要定义反向传播 五、常用的内置模块六、示例&#xff1a;创建一个简单的神经网络1…...

(14)关于docker如何通过防火墙做策略限制

关于docker如何通过防火墙做策略限制 1、iptables相关问题 在Iptables防火墙中包含四种常见的表&#xff0c;分别是filter、nat、mangle、raw。 filter&#xff1a;负责过滤数据包。 filter表可以管理INPUT、OUTPUT、FORWARD链。 nat&#xff1a;用于网络地址转换。 nat表…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...

OCR MLLM Evaluation

为什么需要评测体系&#xff1f;——背景与矛盾 ​​ 能干的事&#xff1a;​​ 看清楚发票、身份证上的字&#xff08;准确率>90%&#xff09;&#xff0c;速度飞快&#xff08;眨眼间完成&#xff09;。​​干不了的事&#xff1a;​​ 碰到复杂表格&#xff08;合并单元…...