C语言 之 字符串函数strncpy、ctrncat、strncmp函数的使用

news2024/9/22 4:26:39

文章目录

  • strncpy函数的使用
  • strncat函数的使用
  • strncmp函数的使用

strncpy函数的使用

函数原型:

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

strncpystrcpy的区别是,strncpy可以控制需要拷贝的字符数量

1.能够拷贝num个字符从源字符串到目标空间。
2.如果源字符串的长度小于num,则拷贝完源字符串之后,在目标的后边追加0,直到num个。

例子:

#include<stdio.h>
#include<string.h>
int main()
{
	char str1[] = "hello fallzzzzz";
	char str2[20];
	strncpy(str2, str1, 5);
	str2[5] = '\0'; //拷贝的时候没有把'\0'拷贝过去,所以手动添加一个'\0'
	printf("str2 = %s", str2);
	return 0;
}

输出结果:
在这里插入图片描述

strncat函数的使用

函数原型:

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

strncatstrcat的区别是能控制需要追加的字符串中的字符个数

1.将source指向的字符串的前num个字符追加到destination指向的字符串末尾,之后再追加⼀个 \0 字符。
2.如果source 指向的字符串的长度小于num的时候,只会将字符串中到 \0 的内容追加到destination指向的字符串末尾。

例子:

#include<stdio.h>
#include<string.h>
int main()
{
	char str1[20] = "hello ";
	char str2[20] = "fallzzzzz";
	strncat(str1, str2, 4);
	printf("str1 = %s", str1);
	return 0;
}

输出结果:
在这里插入图片描述

strncmp函数的使用

函数原型:

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

strncmp能够比较两个字符串的前n个字符

⽐较str1和str2的前num个字符,如果相等就继续往后比较,最多比较num个字母,如果提前发现不⼀样,就提前结束,⼤的字符所在的字符串⼤于另外⼀个。如果num个字符都相等,就是相等返回0。

比较的返回值规则和strcmp的一样,返回值为0则表示相等

例子:

#include<stdio.h>
#include<string.h>
int main()
{
	char str1[] = "fall";
	char str2[] = "falll";
	int tmp = strncmp(str1, str2, 4);
	printf("%d", tmp);
	return 0;
}

输出结果:
在这里插入图片描述

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

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

相关文章

为什么使用HTTPS?

HTTPS现在是所有Web活动的首选协议&#xff0c;因为它是用户保护敏感信息的最安全方式。 HTTPS不仅对请求用户信息的网站至关重要。除了用户直接发送的信息外&#xff0c;攻击者还可以从不安全的连接中跟踪行为和身份数据。 HTTP为网站所有者带来的好处除了数据安全之外&…

【Linux网络编程入门】Day5_socket编程基础

socket 编程基础 Linux 下的网络编程&#xff1a;socket 编程&#xff1b; socket是内核向应用层提供的一套网络编程接口&#xff0c;用户基于 socket 接口可开发自己的网络相关应用程序。 ⚫ socket 简介 ⚫ socket 编程 API 介绍 ⚫ socket 编程实战 socket 简介 ​ 套…

微信小程序引入全局环境变量

有时候一套代码要在多个小程序appId下使用,其中又有一些数据(文字)需要做区分.可以使用下面的方法 把要配置的数据以export default 形式导出 在app.js中,引入project.config.0.js文件,将导出的数据放在globalData中 在页面目录中,即可利用getApp()方法使用全局变量 也可以放数…

LM4863 带立体声耳机功能的双 2.2W音频功率放大器芯片IC

一般概述 LM4863是双桥接的音频功率放大器。当电源电压为5V时&#xff0c;在保证总谐波失真、噪声失真之和小于1.0%的情况下&#xff0c;4Ω负载提供2.2W的输出功率或者可向3Ω负载提供2.5W的输出功率。另外&#xff0c;当驱动立体声耳机时&#xff0c;耳机输入端允许放…

微服务:分布式事务

&#x1f4a5; 该系列属于【SpringBoot基础】专栏&#xff0c;如您需查看其他SpringBoot相关文章&#xff0c;请您点击左边的连接 目录 一、引言 二、Seata 三、部署TC服务 1. 准备数据库表 2. 准备配置文件 3. Docker部署 四、微服务集成Seata 1. 引入依赖 2. 改造配…

json 库的下载与使用

Json 简介Json下载Json::Value 数据对象类Json 序列化/反序列化的介绍Json 的序列化类低版本高版本 Json 的反序列化类低版本高版本 Json序列化操作Json反序列化操作 简介 json 是一种数据交换格式&#xff0c;采用独立于编程语言的文本格式来存储和表示的数据。 Json下载 使…

波导阵列天线单元 学习笔记3 基于空气填充双模馈网的双圆极化膜片天线阵列

摘要&#xff1a; 此通信提出了一种使用空气填充双模馈网的基于膜片极化器的双圆极化天线阵列。一种1分4的圆腔单层覆盖在膜片极化器上来抑制栅瓣。全公司馈网被一个双模传输线所实现&#xff0c;以此在一组馈网内联合了TEM模式&#xff08;由HW悬架线激励&#xff09;和TE10模…

Stable Diffusion赋能“黑神话”——助力悟空走进AI奇幻世界

《黑神话&#xff1a;悟空》是由游戏科学公司制作的以中国神话为背景的动作角色扮演游戏&#xff0c;将于2024年8月20日发售。玩家将扮演一位“天命人”&#xff0c;为了探寻昔日传说的真相&#xff0c;踏上一条充满危险与惊奇的西游之路。 同时&#xff0c;我们还可以借助AI绘…

智能电子班牌源码之终端管理-SAAS本地化及未来之窗行业应用跨平台架构

一智能电子班牌 智能电子班牌为教育行业量身打造&#xff0c;高清显示屏体、可安装各类软件&#xff0c;满足门禁、考勤、信息显示等多种功能。节能防水防误触设计&#xff0c;更适用于校园环境。 二、设备管理 1. 提高效率&#xff1a;管理员无需亲临设备现场&#xff0c;…

Maven-03.idea集成-配置及创建maven项目

一.配置Maven 写在前面&#xff1a;特别注意idea版本与Maven版本以及jdk版本与Maven版本的匹配问题。一定要下载和当前idea版本以及jdk版本匹配的maven版本&#xff0c;否则会出问题。具体匹配结果上网查询&#xff01;此处采用idea2023.2.3&#xff0c;jdk17&#xff0c;mave…

edge浏览器可以,chrome浏览器看不到接口数据

chrome 谷歌浏览器&#xff0c;可以看到页面&#xff0c;F12的开发者工具看不到返回数据 无法加载响应数据: No data found for resource with given identifier Chrome 将显示 ERR_INTERNET_DISCONNECTED 错误 edge浏览器是正常的。 哈哈哈哈哈哈&#xff0c;这里误点了&a…

C ++初阶:类和对象(上)

目录 &#x1f31e;0.前言 1. 面向过程和面向对象初步认识 2..类的引入与定义 2.1类的引入 2.2类的定义 3.类的访问限定符及其封装 3.1访问限定符 3.2封装 4.类的作用域 4.1加餐和发现 5.类的实例化 6.类对象大小的计算 6.1.内部的存储方式 6.2结构体对齐规则回顾…

【闪送-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

【办公软件】安全风险 Microsoft 已阻止宏运行,因为此文件的来源不受信任

Excel 2019版本&#xff0c;就出现安全风险 Microsoft 已阻止宏运行 因为此文件的来源不受信任的问题&#xff0c;宏直接就用不了了。 网上的解决方法&#xff0c;文件右键属性->取消安全锁。但存在没有安全锁这个选项。后查询到一个简单的解决方法。 打开Excel表格->文件…

利用MongoDB进行数据治理,防范构建生成式AI应用程序时的潜在安全风险

生成式人工智能&#xff08;生成式AI&#xff09;正在蓬勃发展&#xff0c;许多企业和初创公司正在运用AI工具来解决各自的用例问题。随着企业逐渐适应市场上的新技术范式转移&#xff0c;开发者社区和开源模型也在不断发展壮大。 构建智能生成式AI应用程序需要灵活运用数据。…

R语言统计分析——线性模型假设的综合验证与多重共线性

参考资料&#xff1a;R语言实战【第2版】 1、线性模型假设的综合验证 gvlma包中的gvlma()函数&#xff0c;能对线性模型进行综合验真&#xff0c;同时还能做偏斜度、峰度和异方差性的评价。也就是说&#xff0c;它给模型提供了一个单独的综合验证&#xff08;通过/不通过&…

RK3568平台开发系列讲解(UART篇)line discipline

🚀返回专栏总目录 文章目录 一、UART 读写过程二、line discipline组成沉淀、分享、成长,让自己和他人都能有所收获!😄 line discipline 介于 TTY 层和具体的串口驱动 ( 比如 serial8250 ) 之间。 一、UART 读写过程 发送数据时: 应用程序通过系统调用向 TTY 设备文件写…

打卡学习Python爬虫第四天|bs4爬取优美图库的小清新图片

bs4解析比较简单&#xff0c;通过HTML的标签和属性去提取值&#xff0c;find(标签,属性"值"&#xff09; 但是需要了解HTML的语法知识&#xff0c;然后再使用bs4去提取&#xff0c;逻辑和编写难度就会比较简单和清晰。 bs4如何使用&#xff1f;如有如下HTML代码&am…

币价与数据持续低迷,比特币和以太坊能否从低谷中恢复?

在过去的一周里&#xff0c;加密货币市场经历了令人失望的表现&#xff0c;比特币和以太坊的价格持续低迷&#xff0c;引发了投资者的广泛关注。尽管宏观经济背景提供了一些利好因素&#xff0c;但市场情绪依然低迷&#xff0c;BTC/USD 和 ETH/USD 均未能打破当前的下行趋势。本…

鸿蒙HarmonyOS开发知识:命令行工具篇—“codelinter”

codelinter同时支持使用命令行执行代码检查与修复&#xff0c;可将codelinter工具集成到门禁或持续集成环境中。 codelinter命令行格式为&#xff1a; codelinter [options] [dir] options&#xff1a;可选配置&#xff0c;请参考表1。 dir&#xff1a;待检查的工程根目录…