编程技能:字符串函数07,strncat
专栏导航
本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。
(一)WIn32 专栏导航
上一篇:编程技能:字符串函数06,strcat
回到目录
下一篇:无
(二)MFC 专栏导航
上一篇:编程技能:字符串函数06,strcat
回到目录
下一篇:无
本节前言
在上一节,我们讲解了 strcat 函数。本节,我们来讲解与之相近的 strncat 函数。
一. strncat 基本介绍
想要使用 strncat 函数,如果是想要在 C 语言里面使用,那么,你需要有【#include <string.h>】一行。如果是想要在 C++ 里面使用,你需要有【#include <cstring>】一行。
下面,是 strncat 函数的原型声明。
char * strncat(char * dest,const char * src,int count);
我在这里所列的原型声明,它只是我从 Linux 0.12 内核中提取出来的一种声明而已。在 Visual Studio 里面,它的声明形式不是这样子的。但是呢,我在这里列举出来的声明,它是可用的。
此函数的功能是,将 src 所指向的源字符串的前 count 个字符,添加到dest所指字符串的结尾处。添加的时候,会覆盖掉 dest 所指字符串结尾的 '\0',并且会在最后添加一个 '\0',从而实现字符串的连接。函数的返回值为 dest 指针。
此函数有几个注意事项。
第一,dest 必须有足够的空间来容纳 src 的字符串的前 count 个字符。
第二,如果 count 大于字符串 src 的有效字符长度,那么仅将 src 指向的字符串内容追加到 dest 的尾部。
假定,有如下的几行代码。
char str02[100] = "abc";
char str01[] = "defghijkl";strncat(str02, str01, 3);
此函数给目的字符数组 str02 设置了足够大的缓冲区,所以,空间是够用的。
在执行拼接的时候,str01中的第 1 个字符 d 会覆盖 str02 字符串 "abc" 的结尾的 NUL 字符。然后呢,str01 的 e 和 f 字符会分别被赋值给 str02[4] 和 str02[5] 。最后呢,给 str02[6] 赋值 '\0' 。
以上的执行过程,属于是一板一眼的执行着。
而实际上,我们可以将这个执行过程简化理解。我们可以近似地认为,拼接过程是将 str01 的三个有效字符 d,e 和 f 插入到 str02 的末尾有效字符 'c' 和 str02 的 NUL 结束符之间。
我们来看注意事项中的第一点。它是说,目的字符数组中要有足够的空间来容纳源字符串的前 count 个字符。
在上面的代码块示例中,我们给 str02 设定的数组长度为 100,初始化字符串 "abc" 包含 3 个有效字符和 1 个 NUL 结束符,总共占去了 4 个位置,所以呢,str02 此时还剩下 96 个空位置。在上面的简化理解中,我们将 strncat 理解为,将 src 源字符串的前 count 个字符插入到 dest 字符串的末端有效字符 'c' 和 NUL 结束符之间。所以呢,str02 要想能够容纳 str01 的前 count 个字符,只要满足【count <= 96】就可以了。
进一步地,假定我们给目的字符数组 dest 设定的尺寸为 dest_size,初始化 dest 字符串的有效长度为 dest_init_len,包含 NUL 结束符的字符串长度为 dest_init_len+1,则 dest 的剩余可用长度为【dest_size - dest_init_len - 1】。此时,要想让 dest 能够容纳 src 的前 count 个字符,则需要满足的条件为:【count <= (dest_size - dest_init_len - 1)】。
当然了,对于第一个注意事项,你也可以换一种方式来理解。假定,dest 目的字符数组的尺寸为 dest_size,初始化 dest 字符串的不包含 NUL 结束符的有效字符长度为 dest_init_len,初始化 dest 字符串的包含 NUL 结束符的总字符长度为 dest_init_len+1。那么,要想让 dest 能够容纳 src 的前 count 个字符,需要满足的条件是,【dest_init_len + 1 + count <= dest_size】。
注意事项的第二点是比较容易理解的,我就不展开讲解了。还不懂第二点的,私聊啊。
二. strncat 的 C 语言代码示例
#include <stdio.h>
#include <string.h>int main(void)
{char str02[100] = "Windows ";char str01[] = "Programing Designment";strncat(str02, str01, 7);printf("拼接后的字符串:%s\n", str02);return 0;
}
这一段代码,直接在较新版本的 Visual Studio 里面去编译,它是会报错的。想要在较新的版本的 Visual Studio 里面使用这段代码,需要在预编译器里面加入 _CRT_SECURE_NO_WARNINGS 参数。添加 _CRT_SECURE_NO_WARNINGS 参数的方法,可以参考下述链接所指示的文章。
编程技能:字符串函数04,直接使用 strcpy,解决报错-CSDN博客
三. 安全型函数 strncat_s
直接使用 strncat, Visual Studio 会报错,IDE 会建议我们使用安全型的 strncat_s 函数。它的一个声明形式如下。
errno_t __cdecl strncat_s(char * dest, const char *src, size_t count);
此函数的返回值是 errno_t 类型的。errno_t 类型,就是 int 类型。
此函数的返回值,我们先不去深究。
__cdecl,这个东西,此处我们先不用管。就目前的阶段来讲,你可以无视这个东西,而直接将此函数的原型声明看作是【errno_t strncat_s(char * dest, const char *src, size_t count);】。
size_t,就是 unsigned int 。
从函数声明格式来看,strncat 和 strncat_s 的调用方法是一样的。
假定,我们先进行了如下的声明语句。
char str02[100] = "LaLaLa ";
char str01[] = "abcdefghijkl";
然后呢,你使用 strncat 函数完成拼接。拼接代码为:【strncat(str02, str01, 3)】。那么,为了用 strncat_s 完成同样的拼接效果,你需要这样子来写代码:【strncat_s(str02, str01, 3)】。
从这样的案例可以看到,使用 strncat 和 strncat_s 相比,两者的参数都是一样的,包括顺序都是一致的。区别只在于函数名,一个是 strncat,一个是 strncat_s 。
无论是使用 strncat,还是使用 strncat_s,其实我们都需要保证目的字符数组 dest 的空间足够。在使用安全型函数 strncat_s 的时候,我们并未显式地指定目的字符数组的最大缓冲区长度,而 strncat_s 又是需要做一点。那么, Visual Studio 是怎么来确保目的字符数组的空间足够呢?
我不知道。不过,微软既然开发了 strncat_s 的这一声明形式,那么,微软肯定是有办法来保这一点。
我所能够想到的一个方法,就是使用 sizeof 操作符。sizeof 操作的参数若是为数组名,则它的返回值为整个数组的字节长度。在使用 sizeof 操作符确定了目的字符数组 dest 的总尺寸以后,在拼接的过程中,去比较 dest 的数组总长度,dest 的包含 NUL 结束符的初始化字符串的长度,以及 count,对这些个数值加以计算。若是能够容纳得了,则正常往下运行。若不能容纳,无法正常完成拼接,则抛出异常,阻止程序的继续运行。
这是我所想到的,用以实现 strncat_s 的思路。大家可以参考着吧。或许,以后,你还能想到比我所说的方法更厉害的方法。
好了,对 strncat_s 的讲解,到这里就完事儿了。
接下来,我们分别给出 strncat_s 的 C 语言代码示例和 C++ 代码示例。
四. strncat_s 的 C 语言代码示例
#include <stdio.h>
#include <string.h>int main(void)
{char str02[100] = "Windows ";char str01[] = "Programing Designment";strncat_s(str02, str01, 7);printf("拼接后的字符串:%s\n", str02);return 0;
}
上述代码,是可以直接在 Visual Studio 里面运行的。
大家若是还不会使用 Visual Studio,可以参考下述链接所示的两篇文章,来学习使用 Visual Studio 来建立解决方案和编译运行解决方案的方法。
Windows编程:使用 VS2010 编写 C语言程序-CSDN博客
Windows编程:用 VS2019 编写C语言程序-CSDN博客
运行结果为如下。

五. strncat_s 的 C++ 代码示例
#include <iostream>
#include <cstring>
using namespace std;int main(void)
{char str02[100] = "Windows ";char str01[] = "Programing Designment";strncat_s(str02, str01, 7);cout << "拼接后的字符串:" << str02 << endl;return 0;
}
结束语
本节内容,到这里,又算是讲完了。希望大家已经学好了本节的内容。
个人觉得,讲起来,也会有点儿费劲儿。希望大家能学好吧。
本节结束。
专栏导航
本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。
(一)WIn32 专栏导航
上一篇:编程技能:字符串函数06,strcat
回到目录
下一篇:无
(二)MFC 专栏导航
上一篇:编程技能:字符串函数06,strcat
回到目录
下一篇:无
相关文章:
编程技能:字符串函数07,strncat
专栏导航 本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。 (一)WIn32 专栏导航 上一篇:编程技能:字符串函数06,strcat 回到目录…...
[Java实战]Spring Boot整合RabbitMQ:实现异步通信与消息确认机制(二十七)
[Java实战]Spring Boot整合RabbitMQ:实现异步通信与消息确认机制(二十七) 摘要:本文通过完整案例演示Spring Boot与RabbitMQ的整合过程,深入讲解异步通信原理与消息可靠性保证机制。包含交换机类型选择、消息持久化配…...
数据库中关于查询选课问题的解法
前言 今天上午起来复习了老师上课讲的选课问题。我总结了三个解法以及一点注意事项。 选课问题介绍 简单来说就是查询某某同学没有选或者选了什么课。然后查询出该同学的姓名,学号,课程号,课程名之类的。 sql文件我上传了。大家可以尝试练…...
用 UniApp 开发 TilePuzzle:一个由 CodeBuddy 主动驱动的拼图小游戏
我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 起心动念:从一个小游戏想法开始 最近在使用 UniApp 做练手项目的时候,我萌生了一个小小…...
golang 安装gin包、创建路由基本总结
文章目录 一、安装gin包和热加载包二、路由简单场景总结 一、安装gin包和热加载包 首先终端新建一个main.go然后go mod init ‘项目名称’执行以下命令 安装gin包 go get -u github.com/gin-gonic/gin终端安装热加载包 go get github.com/pilu/fresh终端输入fresh 运行 &…...
组态王|组态王中如何添加西门子1200设备
哈喽,你好啊,我是雷工! 最近使用组态王采集设备数据,设备的控制器为西门子的1214CPU, 这里边实施边记录,以下为在组态王中添加西门子1200PLC的笔记。 1、新建 在组态王工程浏览器中选择【设备】→点击【新建】。 2、选择设备 和设备建立通讯要通过对应的设备驱动。 在…...
碎片笔记|PromptStealer复现要点(附Docker简单实用教程)
前言:本篇博客记录PromptStealer复现历程,主要分享环境配置过程中的一些经验。 论文信息:Prompt Stealing Attacks Against Text-to-Image Generation Models. USENIX, 2024. 开源代码:https://github.com/verazuo/prompt-stealin…...
Docker配置SRS服务器 ,ffmpeg使用rtmp协议推流+vlc拉流
目录 演示视频 前期配置 Docker配置 ffmpeg配置 vlc配置 下载并运行 SRS 服务 推拉流流程实现 演示视频 2025-05-18 21-48-01 前期配置 Docker配置 运行 SRS 建议使用 Docker 配置 Docker 请移步: 一篇就够!Windows上Docker Desktop安装 汉化完整指…...
c++学习之--- list
目录 编辑 一、list的定义: 二、list的模拟实现: 1、list的基本框架: 2、list的普通迭代器: 设计思想: 迭代器的一个特殊需求(c 对于重载->的一颗语法糖): 代码实现: 3、cons…...
【C++】set、map 容器的使用
文章目录 1. set 和 multiset 的使用1.1 set类的介绍1.2 set的构造和迭代器1.3 set 的增删查1.4 insert和迭代器调用示例1.5 find和erase使用示例1.6 multiset和set的差异 2. map 和 multimap 的使用2.1 map 类的介绍2.2 pair 类型介绍2.3 map 的构造和迭代器2.4 map 的增删查2…...
实习记录小程序|基于SSM+Vue的实习记录小程序设计与实现(源码+数据库+文档)
实习记录小程序 目录 基于SSM的习记录小程序设计与实现 一、前言 二、系统设计 三、系统功能设计 1、小程序端: 2、后台 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码…...
Git从入门到精通
Git 是什么 Git 是一个分布式版本控制系统,主要用于跟踪和管理文件(尤其是代码)的变更。 Git的下载与安装 进入git官网下载界面,选择Windows系统。 点击选择Git for Windows/x64 Setup,进行安装。 注意: Git GUI 是Git提供的一个图形界面工…...
Binary Prediction with a Rainfall Dataset-(回归+特征工程+xgb)
Binary Prediction with a Rainfall Dataset 题意: 给你每天的天气信息,让你预测降雨量。 数据处理: 1.根据特征值构造天气降雨量的新特征值 2.根据时间构造月和季节特征 3.处理缺失值 建立模型: 1.建立lightgbm模型 2.建立…...
【C++】unordered_map与set的模拟实现
unordered系列map和set,与普通区别 用法几乎相同,键值唯一,区别unordered系列迭代器是单向的并且遍历出来不是有序的。unordered系列在数据规模大且无序的情况下性能更优 底层实现: map 和 set :基于平衡二叉树&…...
老旧设备升级利器:Modbus TCP转 Profinet让能效监控更智能
在工业自动化领域,ModbusTCP和Profinet是两种常见的通讯协议。Profinet是西门子公司推出的基于以太网的实时工业以太网标准,而Modbus则是由施耐德电气提出的全球首个真正开放的、应用于电子控制器上的现场总线协议。这两种协议各有各的优点,但…...
编译原理--期末复习
本文是我学习以下博主视频所作的笔记,写的不够清晰,建议大家直接去看这些博主的视频,他/她们讲得非常好: 基础知识概念: 1.【【编译原理】期末复习 零基础自学】,资料 2.【编译原理—混子速成期末保过】&…...
软件工程各种图总结
目录 1.数据流图 2.N-S盒图 3.程序流程图 4.UML图 UML用例图 UML状态图 UML时序图 5.E-R图 首先要先了解整个软件生命周期: 通常包含以下五个阶段:需求分析-》设计-》编码 -》测试-》运行和维护。 软件工程中应用到的图全部有:系统…...
Go 与 Gin 搭建简易 Postman:实现基础 HTTP 拨测的详细指南
Go 与 Gin 搭建简易 Postman:实现基础 HTTP 拨测的详细指南 文章目录 Go 与 Gin 搭建简易 Postman:实现基础 HTTP 拨测的详细指南项目简介代码结构各部分代码功能说明: 代码实现:main.go代码解释 handlers/probe.go代码解释 probe…...
层次原理图
层次原理图简介 层次原理图(Hierarchical Schematic)是一种常用于电子工程与系统设计的可视化工具,通过分层结构将复杂系统分解为多个可管理的子模块。它如同“设计蓝图”,以树状结构呈现整体与局部的关系:顶层展现系…...
嵌入式硬件篇---拓展板
文章目录 前言 前言 本文简单介绍了拓展板的原理以及使用。...
Redis的主从架构
主从模式 全量同步 首先主从同步过程第一步 会先比较replication id 判断是否是第一次同步假设为第一次同步 那么就会 启动bgsave异步生成RDB 同时fork子进程记录生成期间的新数据发送RDB给从节点 清空本地数据写入RDB 增量同步 对比ReplicationID不同因此选择增量同步在Rep…...
IIS入门指南:原理、部署与实战
引言:Web服务的基石 在Windows Server机房中,超过35%的企业级网站运行在IIS(Internet Information Services)之上。作为微软生态的核心Web服务器,IIS不仅支撑着ASP.NET应用的运行,更是Windows Server系统管…...
【上位机——WPF】布局控件
布局控件 常用布局控件Panel基类Grid(网格)UniformGrid(均匀分布)StackPanel(堆积面板)WrapPanel(换行面板)DockerPanel(停靠面板)Canvas(画布布局)Border(边框)GridSplitter(分割窗口)常用布局控件 Grid:网格,根据自定义行和列来设置控件的布局StackPanel:栈式面板,包含的…...
使用 C# 入门深度学习:线性代数详细讲解
在深度学习的领域中,线性代数是基础数学工具之一。无论是神经网络的训练过程,还是数据的预处理和特征提取,线性代数的知识都无处不在。掌握线性代数的核心概念,对于理解和实现深度学习算法至关重要。在本篇文章中,我们…...
操作系统之EXT文件系统
1.理解硬件 1.1磁盘、服务器、机柜、机房 机械磁盘是计算机中唯一的一个机械设备 磁盘--- 外设慢容量大,价格便宜 1.1.1光盘 1.1.2服务器 1.1.3机房 1.2磁盘的物理结构 1.3磁盘的存储结构 一个盘片又两个面 每个面都有一个磁头 磁头沿着盘面的半径移动 1.3.1…...
继MCP、A2A之上的“AG-UI”协议横空出世,人机交互迈入新纪元
第一章:AI交互的进化与挑战 1.1 从命令行到智能交互 人工智能的发展历程中,人机交互的方式经历了多次变革。早期的AI系统依赖命令行输入,用户需通过特定指令与机器沟通。随着自然语言处理技术的进步,语音助手和聊天机器人逐渐普…...
Java大厂面试:从Web框架到微服务技术的场景化提问与解析
Java大厂面试:从Web框架到微服务技术的场景化提问与解析 场景: 某知名互联网大厂的面试现场。面试官一脸严肃,对面坐着搞笑的程序员谢飞机。以下是他们的对话: 第一轮:Web框架基础与数据库操作 面试官:谢…...
最新缺陷检测模型:EPSC-YOLO(YOLOV9改进)
目录 引言:工业缺陷检测的挑战与突破 一、EPSC-YOLO整体架构解析 二、核心模块技术解析 1. EMA多尺度注意力模块:让模型"看得更全面" 2. PyConv金字塔卷积:多尺度特征提取利器 3. CISBA模块:通道-空间注意力再进化 4. Soft-NMS:更智能的重叠框处理 三、实…...
leetcode hot100刷题日记——2.字母异位词分组
涉及知识点:vector、哈希表 解答我的解答的时间复杂度分析我的解答的空间复杂度分析复习:排序算法的时间复杂度 和第一题需要的知识点相同,所以知识点复习可见 link1《leetcode hot100刷题日记——1.两数之和》 解题思路:是字母异位词的字符…...
elementUI 单选框存在多个互斥的选项中选择的场景
使用 el-radio-group 来使用单选框组,代码如下: <el-radio-group input"valueChangeHandler" v-model"featureForm.type"><el-radio name"feature" label"feature">业务对象</el-radio><…...
基于区块链技术的智能汽车诊断与性能分析
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界…...
基于区块链技术的供应链溯源系统:重塑信任与透明度
在当今全球化的商业环境中,供应链的复杂性不断增加,产品从原材料采购到最终交付消费者手中的过程涉及多个环节和众多参与者。然而,传统供应链管理面临着诸多挑战,如信息不透明、数据易篡改、追溯困难等,这些挑战不仅影…...
基于OpenCV的实时文档扫描与矫正技术
文章目录 引言一、系统概述二、核心代码解析1. 导入必要库2. 辅助函数定义3. 坐标点排序函数4. 透视变换函数5. 主程序流程 三、完整代码四、结语 引言 在日常工作和学习中,我们经常需要将纸质文档数字化。手动拍摄文档照片常常会出现角度倾斜、透视变形等问题&…...
基于STM32F103与Marvell88W8686的WIFI无线监控视频传输系统研发(论文)
基于STM32F103与Marvell88W8686的WIFI无线监控视频传输系统研发 中文摘要 在当今社会信息化进程不断加速的时代背景下,众多领域对于监控系统的需求日益增长,像车内安全监控、电梯运行监控等场景都离不开监控系统的支持。过去,不少领域普遍采用…...
华为云Astro中各种变量与参数的区别与用法
目录 🧠 华为云 Astro 各类变量与参数详解 🧩 一、变量与参数的核心作用是什么? 🖼️ 二、整体分类与结构图 📘 三、逐一详细解析 + 类比说明 + 使用建议 🔹 1. 输入参数(Input Parameter) 🔹 2. 输出参数(Output Parameter) 🔹 3. 变量(本地变量)…...
数字人技术的核心:AI与动作捕捉的双引擎驱动(210)
**摘要:**数字人技术从静态建模迈向动态交互,AI与动作捕捉技术的深度融合推动其智能化发展。尽管面临表情僵硬、动作脱节、交互机械等技术瓶颈,但通过多模态融合技术、轻量化动捕方案等创新,数字人正逐步实现自然交互与情感表达。…...
华为云Astro轻应用创建业务对象(BO)的概念梳理
目录 一、业务对象(BO)是什么?——【详细概念解释】 二、形象理解业务对象(BO) 🍱 类比方式: 📦 举个具体例子:以做一个“智能烟雾报警系统”应用 三、为什么使用BO很重要? 四、小结: 一、业务对象(BO)是什么?——【详细概念解释】 在华为云Astro轻应用…...
MySQL开发规范
目录 一、建表规约 二、索引规约 三、SQL语句 四、 ORM映射 一、建表规约 强制: 1、表达是与否概念的字段,必须使用is_xxx的方式命名(PoJo中不加is前缀),数据类型是unsigned tinyint(1表示是…...
K8s入门教程(一)
Kubernetes(K8s)入门教程:从零开始掌握容器编排 目录 Kubernetes(K8s)入门教程:从零开始掌握容器编排 1. Kubernetes 简介 1.1 什么是 Kubernetes? 1.2 核心功能 2. 环境搭建与 Minikube 安装 2.1 安装 Minikube 安装步骤(以 macOS 为例): 安装 kubectl(Kub…...
k8s备份namespace
在 Kubernetes 中备份 Namespace 有多种方法,以下是几种常见的备份方式: 1.使用 kubectl 命令备份 通过 kubectl 命令可以导出指定 Namespace 中的资源,生成 YAML 文件进行备份。 备份所有资源: kubectl -n <namespace> ge…...
前端动画库 Anime.js 的V4 版本,兼容 Vue、React
前端动画库 Anime.js 更新了 V4 版本,并对其官网进行了全面更新,增加了许多令人惊艳的效果,尤其是时间轴动画效果,让开发者可以更精确地控制动画节奏。 这一版本的发布不仅带来了全新的模块化 API 和显著的性能提升,还…...
OpenHarmony外设驱动使用 (四),Face_auth
OpenHarmony外设驱动使用 (四) Face_auth 概述 功能简介 人脸识别功能是端侧设备不可或缺的一部分,为设备提供一种用户认证能力,可应用于设备解锁、支付、应用登录等身份认证场景。它是基于人的脸部特征信息进行身份识别的一种…...
【Java ee初阶】jvm(1)
一、JVM Java虚拟机 面试中相关的问题有三块: 1.JVM内存区域划分 2.JVM的类加载机制 3.JVM的垃圾回收机制 JDK、JRE 和 JVM 的关系 JDK(Java Development Kit)是 Java 开发工具包,包含了编写、编译和调试 Java 程序所需的所…...
【Java ee初阶】jvm(2)
类加载机制: JVM从最开始的读取.class文件,到最终构造完成 类 对象的整个过程,也就是把 类 从硬盘 加载到内存中的机制。 Java的类加载机制主要分为五个步骤:加载、验证、准备、解析和初始化。 步骤一 加载(Loading…...
Django 项目创建全攻略
目录 一、环境准备 1. 安装 Python 2. 安装虚拟环境(可选但推荐) 3. 安装 Django 二、创建 Django 项目 1. 使用命令创建项目 2. 运行开发服务器 三、创建 Django 应用 1. 创建应用 2. 注册应用 四、配置项目 1. 数据…...
windows11 安装好后右键没有 git bash 命令
win键 R 键,输出 regedit,打开注册表 找到 \HKEY_CLASSES_ROOT\Directory\Background\shell 新建项 git-bash 然后在 git-bash 下在新建项 Command,默认值设为 "C:\Program Files\Git\git-bash.exe" --cd"%v." 在 …...
Java八股文——Java基础篇
目录 1、你是怎样理解OOP面向对象2、重载和重写的区别3、接口与抽象类的区别4、深拷贝与浅拷贝的理解5、sleep和wait区别主要区别 6、什么是自动拆装箱,int和Integer有什么区别自动拆装箱int和Integer的区别Integer缓存机制 7、和equals区别String特殊情况 8、Strin…...
蓝桥杯19682 完全背包
问题描述 有 N 件物品和一个体积为 M 的背包。第 i 个物品的体积为 vi,价值为 wi。每件物品可以使用无限次。 请问可以通过什么样的方式选择物品,使得物品总体积不超过 M 的情况下总价值最大,输出这个最大价值即可。 输入格式 第一行…...
2025年- H27-Lc135- 239.滑动窗口最大值(自定义双端队列)---java版
1.题目描述 2.思路 (1)双端队列可以移除最左边的元素,也可以移除最右边的元素(两端移除) (2)在最右边插入元素(右边加入) (3)队列单调性…...
EKS 工作节点的集群网络架构
AWS EKS(弹性 Kubernetes 服务)是亚马逊提供的托管 Kubernetes 服务,一旦配置完成,即可像变魔术一样运行。但这通常是 EKS 的默认设置。如果您打算根据组织的设计、合规性标准和隐私要求进行自定义,该怎么办࿱…...