学习C语言(18)

news2024/9/25 19:25:35

整理今天的学习内容

1.strcmp的使用和模拟实现

strcmp是用来比较字符串的大小的

比较方式:比较两个字符串中对应位置上字符ASCII码值的⼤小

第⼀个字符串大于第二个字符串,则返回⼤于0的数字

第⼀个字符串等于第二个字符串,则返回0

第⼀个字符串小于第二个字符串,则返回小于0的数字

strcmp函数的模拟实现:

2.strncpy函数的使用 

char * strncpy ( char * destination, const char * source, size_t num );

从源字符串拷贝num个字符到目标空间

       

如果源字符串的长度小于num,则拷贝完源字符串之后,在目标的后边追加0,直到num个

             

 3.strncat函数的使用 

char * strncat ( char * destination, const char * source, size_t num );

将source指向字符串的前num个字符追加到destination指向的字符串末尾,再追加⼀个‘\0’

如果source指向的字符串的长度小于num,只会将字符串中到‘\0’的内容追加到destination指向的字符串末尾

为了防止警告,建议这样写:

4.strncmp函数的使用 

 int strncmp ( const char * str1, const char * str2, size_t num );

比较str1和str2的前num个字符,如果相等就继续往后比较,最多比较num个字母,如果提前发现不⼀样,就提前结束,如果num个字符都相等,就返回0.

第⼀个字符串大于第二个字符串,则返回⼤于0的数字

第⼀个字符串等于第二个字符串,则返回0

第⼀个字符串小于第二个字符串,则返回小于0的数字

5.strstr的使用和模拟实现 

char * strstr ( const char * str1, const char * str2);
函数返回字符串str2在字符串str1中第⼀次出现的位置
字符串的比较匹配不包含 \0 字符,以\0 作为结束标志

 

 strstr函数的模拟实现:

6.strtok函数的使用

char * strtok ( char * str, const char * sep);

sep参数指向⼀个字符串,定义了用作分隔符的字符的集合

str指定⼀个字符串,它包含了0个或者多个由sep字符串中⼀个或者多个分隔符分割的标记

strtok函数找到str中的下⼀个标记,并将其用 \0 结尾,返回⼀个指向这个标记的指针(注:strtok函数会改变被操作的字符串,所以被strtok函数切分的字符串⼀般都是临时拷贝的内容并且可修改)

若strtok函数的第⼀个参数不为 NULL ,函数将找到str中第⼀个标记,strtok函数将保存它在字符串
中的位置

若strtok函数的第⼀个参数为 NULL ,函数将在同⼀个字符串中被保存的位置开始,查找下⼀个标

如果字符串中不存在更多的标记,则返回 NULL 指针
 

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

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

相关文章

Mac M1 Max配置torch-geometric等深度学习库

前提:此电脑中已经安装好了Anaconda环境 (一)查看创建的虚拟环境中torch的版本 import torch torch.__version__(二)针对安装的 torch 版本,去官网下载torch-geometric 依赖的对应版本 torch-sparse、tor…

OpenMax算法详解:深度学习中的高效开集识别技术

OpenMax算法详解:深度学习中的高效开集识别技术 在深度学习领域,模型的识别能力往往受限于其训练数据集的范畴。传统的分类模型,如卷积神经网络(CNN)或循环神经网络(RNN),通常被设计…

《大道平渊》· 拾捌 —— 证明自己,本身就毫无意义。

《大道平渊》 我在任何时候都会保持最轻松的状态,选择最舒适的态度和动作。 我在与人交谈时,无论何时何地,都会像在家里躺着和挚友交谈一样轻松。 我总是悠然自若,因为我深知自己的过度表现,只会给人留下怪异的印象。…

django学习入门系列之第十点《django的快速上手》

文章目录 快速上手app注册【settings.py】编写URL和视图的对应关系【urls.py】编写视图函数【views.py】启动django启动网页静态文件路径修改 往期回顾 快速上手 app注册【settings.py】 注意,创建了不代表注册了 操作,在settings里面添加这个 # 一…

002、架构_详解(重点)

GoldenDB 分布式数据库框架 DN和RDB增加了备节点;引入新模块CM,且GTM、MDS、PM、CM都增加备节点;MDS、PM、CM、RDB被统一在了管理节点之中;GTM和MDS间多了一条连线,因为GTM的切换由MDS把控;初步系统架构mysqld:一般称为DB节点,负责单个节点的数据处理; dbproxy:一般…

新手该如何选择与小程序定位相关的关键词

关键词的优化是提高小程序排名的关键步骤之一,所以如何选择与小程序定位相关的关键词是一个很重要的过程,需要考虑多个因素以确保关键词既符合小程序的业务特性,又能吸引目标用户。以下是一些具体的步骤和建议: 1. 深入了解小程序…

<WPF> logic tree 和 visual tree 到依赖属性和路由事件--烂尾睡觉

logic tree 逻辑树通常与 XAML 文件中的元素直接对应。The logical tree comprises the elements as they are listed in the XAML. 用途: 数据绑定:逻辑树用于数据绑定机制,帮助控件获取其父级的属性或数据上下文。事件处理&…

Telnet详解与应用——从原理到实战模拟

1. 引言 在现代网络管理中,远程访问和控制设备的能力至关重要。Telnet是一种经典的远程访问协议,尽管在安全性方面逐渐被SSH等更现代化的协议取代,但其在早期网络管理中的广泛使用使其成为网络工程师的基本技能之一。本文将深入探讨Telnet的…

Shader 透明相关

1、设置深度写入与渲染队列 深度写入 深度写入默认是开启,需要通过渲染状态中的 ZWrite off 指令主动关闭深度写入 当我们把它写在Pass渲染通道中时,它只会影响该Pass 若我们把它写在SubShader语句块中,它将影响其中的所有Pass …

Dubbo负载均衡的5种策略及适用场景

Dubbo负载均衡的5种策略及适用场景 1. Random LoadBalance(默认)2. RoundRobin LoadBalance3. LeastActive LoadBalance4. ConsistentHash LoadBalance 💖The Begin💖点点关注,收藏不迷路💖 Dubbo为优化服务…

Web攻防之应急响应(一)

目录 1. 前言 2. 靶场准备 3. 应急场景 4. 应急实战 4.1 查看服务器开放端口 4.2 通过远程链接工具连接服务器 4.3 寻找中间件日志 4.4. 查看并下载日志 4.5 初步分析日志 4.6 查看安全分析报告 4.6 从被篡改的页面开始 4.6 通过修改的文件时间进一步分析日志信息 4.…

零基础学PLC的指令-位逻辑指令(1)

1、常开触点: 它是一个逻辑开关,可以理解为是电气控制图中的常开按钮,这个逻辑开关是否接通是受寻址的结果而决定的,若I0.0(按位寻址)的寻址结果为“1”,这个逻辑开关就会导通,若寻…

2.2.2 Posix API与网络协议栈 3

3 断开连接 四次挥手 不分客户端,服务器,只分主动方和被动方 主:tcp包里fin这一位 置1被:回,ack这一位 置1被: fin1主:ack1 与posix api关系,调用了close() ,不是网络…

数据库mysql集群主从、高可用MGR、MHA技术详解

一、安装数据库mysql步骤 环境:红帽7.9系统 安装依赖 yum install cmake gcc-c openssl-devel ncurses-devel.x86_64 libtirpc-devel-1.3.3-8.el9_4.x86_64.rpm rpcgen.x86_64 -y 将下载的MySQL软件包解压并cd到mysql的目录下 [rootmysql-node10 ~]# tar zxf mysq…

新手小白Ubuntu18.04超详细安装教程

1、Ubuntu18.04系统下载地址 Ubuntu18.04下载地址 直接下载桌面版 2、Ubuntu18.04安装 (1)打开VMware虚拟机 文件—>新建虚拟机—>选择典型 (2)选择稍后安装系统 (3)选择linux系统,…

Linux常用应急排查命令(持续更新)

1、history (1)使用history查看历史命令,分析攻击者使用过何命令 history(2)但攻击者也能回使用history -c 清除掉历史命令 history -c(3)使用cat查看cat /root/.bash_history 文件也可以查看…

C++入门基础知识35——【关于C++ 存储类之mutable 存储类thread_local 存储类】

成长路上不孤单😊【14后,C爱好者,持续分享所学,如有需要欢迎收藏转发😊😊😊😊😊😊😊!!!!&#xff…

CentOS安装使用教程与集群环境搭建

文章目录 一、下载CentOS镜像1. 下载 二、创建虚拟机三、CentOS安装、克隆与配置1. 安装CentOS2. CentOS虚拟机克隆2.1 介绍2.1.1 完全克隆 (Full Clone)2.1.2 链接克隆 (Linked Clone) 2.2 克隆虚拟机 3. CentOS虚拟机配置3.1 修改主机名3.2 配置虚拟机网络3.3 配置网络参数3.…

C:回调函数的介绍-学习笔记

前言: 本篇文章我们将继续指针相关知识:回调函数 希望大家在看完后能够有所收获! 回调函数 定义与概念 回调函数是一个通过指针调用的函数。 如果把函数指针作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时&…

ARM32开发——(十四)GD32F4_DMA功能查询

GD32F4系列微控制器支持DMA(Direct Memory Access)功能,该功能允许外设通过DMA控制器直接访问内存,从而减轻CPU的负担。GD32F4系列微控制器的DMA功能如下: 支持最多8个DMA通道,每个通道都可以对应一个外设…