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

C语言第四十九弹----模拟使用strcpy函数

使用C语言模拟使用strcpy函数

定义:strcpy 函数是 C 标准库中用于字符串复制的函数。它接受两个参数,第一个参数 dest 是目标字符串的指针,第二个参数 src 是源字符串的指针,函数的功能是将源字符串复制到目标字符串中,返回目标字符串指针。

思路:理解定义,相当于一个复制操作。通过循环,把一个字符串,放入另外一个字符串中即可。

代码如下:

#include <stdio.h>
#include <assert.h>char* my_strlen(char* dest, char* src)
{assert(dest && src);char* ret = dest;//记住首地址while (*src != '\0')//当src为\0时证明已经完成了赋值{*dest++ = *src++;}return ret;//返回首地址,相当于返回整个字符串
}int main()
{char arr1[] = "abcdef";char arr2[20] = { 0 };printf("%s\n",my_strlen(arr2,arr1));
}

plus版本

#include <stdio.h>
#include <assert.h>char* my_strlen(char* dest, char* src)
{assert(dest && src);char* ret = dest;//记住首地址while (*dest++ = *src++)//两者不等时,即复制完成,可以直接作为循环条件来控制循环。{;}return ret;//返回首地址,相当于返回整个字符串
}int main()
{char arr1[] = "abcdef";char arr2[20] = { 0 };printf("%s\n",my_strlen(arr2,arr1));
}

相关文章:

C语言第四十九弹----模拟使用strcpy函数

使用C语言模拟使用strcpy函数 定义&#xff1a;strcpy 函数是 C 标准库中用于字符串复制的函数。它接受两个参数&#xff0c;第一个参数 dest 是目标字符串的指针&#xff0c;第二个参数 src 是源字符串的指针&#xff0c;函数的功能是将源字符串复制到目标字符串中&#xff0…...

docker搭建maven私库Nexus3

什么是Maven私服&#xff1f; Maven 私服是一种特殊的Maven远程仓库&#xff0c;它是架设在局域网内的仓库服务&#xff0c;用来代理位于外部的远程仓库&#xff08;中央仓库、其他远程公共仓库&#xff09;。 当然也并不是说私服只能建立在局域网&#xff0c;也有很多公司会…...

Java 基础学习(十)包装类、异常

1 包装类 1.1 包装类概述 1.1.1 什么是包装类 在进行类型转换时&#xff0c;有一种特殊的转换&#xff1a;将 int 这样的基本数据类型转换为对象&#xff0c;如下图所示&#xff1a; 所有基本类型都有一个与之对应的类&#xff0c;即包装类&#xff08;wrapper&#xff09;。…...

STM32的基本定时器注意点

本文介绍了STM32基本定时器3个重要的寄存器PSC、ARR、CNT&#xff0c;以及缓冲机制和计数细节。 基本定时器的框图 预分频器寄存器(TIMx_PSC)可以在运行过程中修改它的数值&#xff0c;新的预分频数值将在下一个更新事件时起作用。因为更新事件发生时&#xff0c;会把 TIMx_PS…...

浅谈NLP和大模型的关系

目录 一、什么是NLP 二、NLP的应用举例 三、NLP的Python实现举例 四、NLP和大模型的关系 五、NLP的难点 5.1 内容的有效界定 5.2 消歧和模糊性 5.3 有瑕疵的或不规范的输入 5.4 语言行为与计划 六、研究热点 一、什么是NLP 如果单独说NLP这3个字母&#xff0c;具有两…...

k8s上安装KubeSphere

&#x1f369;安装KubeSphere &#x1f36a;前置环境&#x1f36a;安装nfs-server文件系统&#x1f36a;配置nfs-client&#x1f36a;配置默认存储&#x1f36a;创建了一个存储类&#x1f36a;metrics-server集群指标监控组件 &#x1f36a;安装KubeSphere&#x1f36a;执行安装…...

Linux 链接器如何使用静态库来解析引用

文章目录 通过进行代码实践静态库在编译时被链接到可执行文件中的基本原理原理总结 QA:.obj文件是什么? 通过进行代码实践 链接器在解析引用时&#xff0c;可以使用静态库来满足对未定义符号的引用。以下是使用静态库的一般步骤&#xff1a; 编写代码&#xff1a; 首先&#…...

vue实现滑动验证

效果图&#xff1a; 源码地址&#xff1a;github文档地址&#xff1a; https://github.com/monoplasty/vue-monoplasty-slide-verify 使用步骤&#xff1a;1&#xff0c;安装插件&#xff1a; npm install --save vue-monoplasty-slide-verify 在main.js中使用一下&#xff…...

***Cpolar配置外网访问和Dashy

Dashy是一个开源的自托管的导航页配置服务,具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起,形成自己的导航页。一款功能超强大,颜值爆表的可定制专属导航页工具 结合cpolar内网工具,我们实现无需部署到公网服务器…...

Rancher中使用promtail+loki+grafna收集k8s日志并展示

Rancher中使用promtail+loki+grafna收集k8s日志并展示 根据应用需求和日志数量级别选择对应的日志收集、过滤和展示方式,当日志量不太大,又想简单集中管理查看日志时,可使用promtail+loki+grafna的方式。本文找那个loki和grafana外置在了k8s集群之外。 1、添加Chart Repo …...

modelbox线程爆满宕机bug

序 该bug的解决需要特别感谢张同学。有了大佬的帮助&#xff0c;这个bug才得以解决。 问题现象 modelbox可以进行模型推理&#xff0c;但压测一段时间后&#xff0c;modelbox会宕机&#xff0c;并发生段错误。 “libgomp: Thread creation failed: Resource temporarily una…...

KUKA机器人如何在程序中编辑等待时间?

KUKA机器人如何在程序中编辑等待时间&#xff1f; 如下图所示&#xff0c;如何实现在P1点和P2点之间等待设定的时间&#xff1f; 如下图所示&#xff0c;可以直接输入wait sec 2&#xff08;等待2秒&#xff09;&#xff0c; 如下图所示&#xff0c;再次选中该程序后&#…...

MQ入门简介

当年入门MQ时跟着尚硅谷RabbitMQ视频学习所做的一些笔记&#xff0c;现在上传方便有需要小伙伴查看 一&#xff1a;MQ的相关概念 1.什么是MQ MQ(message queue)&#xff0c;从字面意思上看&#xff0c;本质是个队列&#xff0c;FIFO 先入先出&#xff0c;只不过队列中存放的内…...

如何正确使用缓存来提升系统性能

文章目录 引言什么时候适合加缓存&#xff1f;示例1示例2&#xff1a;示例3&#xff1a; 缓存应该怎么配置&#xff1f;数据分布**缓存容量大小&#xff1a;**数据淘汰策略 缓存的副作用总结 引言 在上一篇文章IO密集型服务提升性能的三种方法中&#xff0c;我们提到了三种优化…...

IDEA中Terminal配置为bash

简介 我们日常命令行都是使用Linux的bash指令&#xff0c;但是我们的开发基本都是基于Windows上的IDEA进行开发的&#xff0c;对此我们可以通过将IDEA将终端Terminal改为git bash自带的bash.exe解决问题。 配置步骤 安装GIT 这步无需多说了&#xff0c;读者可自行到官网下载…...

C# 字符串格式化

写在前面 在日常编程中&#xff0c;经常需要对字符串进行格式化操作&#xff0c;以便呈现为不同的格式&#xff0c;满足各种各样的显示需求&#xff0c;C#的字符串格式化参数是非常丰富的&#xff0c;这里做个简单的列举&#xff0c;以供后续参考和延伸。 代码实现 var curr…...

基于亚马逊云科技新功能:Amazon SageMaker Canvas无代码机器学习—以构建货物的交付状态检测模型实战为例深度剖析以突显其特性

授权说明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在亚马逊云科技开发者社区、 知乎、自媒体平台、第三方开发者媒体等亚马逊云科技官方渠道。 目录 &#x1f680;一. Amazon SageMaker &#x1f50e;1.1 新功能发布&#xff1a;A…...

基于Spring Boot、Mybatis、Redis和Layui的企业电子招投标系统源码实现与立项流程

招投标管理系统是一款适用于招标代理、政府采购、企业采购和工程交易等领域的企业级应用平台。该平台以项目为主线&#xff0c;从项目立项到项目归档&#xff0c;实现了全流程的高效沟通和协作。通过该平台&#xff0c;用户可以实时共享项目数据信息&#xff0c;实现规范化管理…...

electron这样使用更安全

背景&#xff1a; electron大家平时为了方便使用&#xff0c;或是一些网上demo的引导&#xff0c;会让渲染进程的业务界面支持直接使用nodejs&#xff0c;这种开发方式有一定的安全隐患&#xff0c;如果业务界面因为xss之类的漏洞被注入其他代码&#xff0c;危害非常大&#x…...

DPDK多进程之间的通信

文章目录 前言本机DPDK IPC API介绍demo演示 前言 DPDK的主进程和辅助进程之间共享大页内存。关于DPDK多进程的支持文档介绍见&#xff1a;47. 多进程支持。 本文介绍本机DPDK的主进程和辅助进程之间交换短消息的API的使用。 前置要求&#xff1a;DPDK-Hello-World示例应用程…...

实战应用:基于快马平台ai,开发并部署一个功能齐全的instagram内容下载web应用

今天想和大家分享一个实战项目&#xff1a;基于InsCode(快马)平台快速开发并部署一个功能完备的Instagram内容下载Web应用。这个项目从需求分析到上线只用了不到半天时间&#xff0c;特别适合想验证产品原型的开发者。 项目需求分析 首先明确核心功能需求&#xff1a;需要支持I…...

深入解析C++中获取进程模块基址的高效实现方法

1. 为什么需要获取进程模块基址 在Windows系统编程中&#xff0c;获取进程模块基址是一个基础但极其重要的操作。简单来说&#xff0c;模块基址就是某个DLL或EXE文件被加载到内存中的起始地址。这个地址就像是模块在内存中的"门牌号"&#xff0c;有了它我们才能找到模…...

ENet核心架构深度解析:从主机管理到对等通信

ENet核心架构深度解析&#xff1a;从主机管理到对等通信 【免费下载链接】enet ENet reliable UDP networking library 项目地址: https://gitcode.com/gh_mirrors/en/enet ENet是一款高性能的可靠UDP网络库&#xff0c;专为实时多人游戏和低延迟应用设计。它通过创新的…...

比特币钱包密码与助记词恢复工具:从入门到精通

比特币钱包密码与助记词恢复工具&#xff1a;从入门到精通 【免费下载链接】btcrecover An open source Bitcoin wallet password and seed recovery tool designed for the case where you already know most of your password/seed, but need assistance in trying different…...

RVC与FunASR联动:中文语音识别+AI翻唱端到端流水线

RVC与FunASR联动&#xff1a;中文语音识别AI翻唱端到端流水线 1. 引言&#xff1a;当AI翻唱遇见语音识别 想象一下这个场景&#xff1a;你有一段喜欢的歌曲音频&#xff0c;想用自己的声音翻唱它&#xff0c;但苦于记不住歌词&#xff0c;或者原唱语速太快跟不上。传统的做法…...

Arcgis符号化实战:用矢量文件制作专业级统计地图(附最新配色方案)

ArcGIS符号化实战&#xff1a;用矢量文件制作专业级统计地图&#xff08;附最新配色方案&#xff09; 当你面对一叠枯燥的表格数据时&#xff0c;是否想过如何让这些数字"活"起来&#xff1f;统计地图正是将抽象数据转化为直观视觉表达的利器。作为地理信息系统领域的…...

汽车智能制造如何落地?从“黑灯工厂”看AI赋能的关键路径

一、当工厂学会在黑暗中自行运转偌大的汽车生产车间里&#xff0c;灯光熄灭&#xff0c;只有AGV小车穿梭的微光和机械臂有节奏的运作声。没有工人的手电筒&#xff0c;也没有巡检的脚步&#xff0c;一切生产、检测、调度都在黑灯状态下有条不紊地进行。这并非科幻电影&#xff…...

Gemma-3 Pixel Studio实战教程:离线模式部署与本地模型权重缓存策略

Gemma-3 Pixel Studio实战教程&#xff1a;离线模式部署与本地模型权重缓存策略 1. 项目概述与核心价值 Gemma-3 Pixel Studio是基于Google最新开源Gemma-3-12b-it模型构建的多模态对话终端&#xff0c;将强大的文本理解能力与视觉感知功能完美结合。与传统对话系统相比&…...

OpenRGB:开源跨平台RGB灯光控制方案,告别多软件困扰实现设备统一管理

OpenRGB&#xff1a;开源跨平台RGB灯光控制方案&#xff0c;告别多软件困扰实现设备统一管理 【免费下载链接】OpenRGB Open source RGB lighting control that doesnt depend on manufacturer software. Supports Windows, Linux, MacOS. Mirror of https://gitlab.com/CalcPr…...

客服机器人开放平台能自建知识库吗?以百应Agent为例,探讨成都企业售后自动解答的实现路径

在数字化转型加速的今天&#xff0c;成都作为西部电商和制造业重镇&#xff0c;众多企业面临售后咨询量激增的挑战。退货、物流追踪、产品故障排查等售后问题占客服咨询的 60% 以上&#xff0c;传统人工客服成本高、响应慢&#xff0c;已难以满足用户即时需求。客服机器人开放平…...