【c语言】strncpy函数模拟实现

strncpy函数模拟实现

strncpy函数在cplusplus网站中的定义

模拟实现源码

//模拟实现
#include <stdio.h>
#include <string.h>
#include <assert.h>char* my_strncpy(char* destination, const char* source, size_t num)
{assert(destination && source);//对指针进行断言,确保不是NULL指针char* ret = destination;//保存目的地址while (num--){*destination = *source;destination++;source++;}return ret;
}int main()
{char arr1[] = "abcdef";char arr2[20] = "xxxxxxxxxxxxxxx";char arr3[20] = { 0 };char* ret1 = my_strncpy(arr2, arr1, 4);char* ret2 = my_strncpy(arr3, arr1, 4);printf("arr1:%s\n", arr1);printf("arr2:%s\n", arr2);printf("ret1:%s\n", ret1);printf("arr3:%s\n", arr3);printf("ret2:%s\n", ret2);return 0;
}

执行结果

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI大模型下的策略模式与模板方法模式对比解析

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》《MYSQL应用》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 &#x1f680; 转载自热榜文章&#xff1a;设计模式深度解析&#xff1a;AI大模型下…

TypeScript学习笔记2-联合类型、类型断言

联合类型 联合类型&#xff1a;顾名思义&#xff0c;简单的说就是多种类型联合起来 栗子1&#xff1a;运用在函数中 栗子2&#xff1a;运用在dom上&#xff08;取不到值时可能为null类型&#xff09; 栗子3&#xff1a;定时器是个常用例子 在TypeScript中&#xff0c;联合类型…

一切皆是为了交流-DDD通用语言

通用语言是什么&#xff1f; 通用语言是一种在特定领域内的沟通方式&#xff0c;可以由文字、语言、手势、图像等一切与达到沟通目的的元素组成。 比如&#xff0c;在中国内&#xff0c;方言是闽南的小王与方言是粤语的小张进行交流&#xff0c;那么&#xff0c;普通话是他们…

2024年MathorCup妈妈杯数学建模思路D题思路解析+参考成品

1 赛题思路 (赛题出来以后第一时间在群内分享&#xff0c;点击下方群名片即可加群) 2 比赛日期和时间 报名截止时间&#xff1a;2024年4月11日&#xff08;周四&#xff09;12:00 比赛开始时间&#xff1a;2024年4月12日&#xff08;周五&#xff09;8:00 比赛结束时间&…

室友打团太吵?一条命令让它卡死

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;更多干货&#xff0c;请关注专栏《网络安全自学教程》 SYN Flood 1、hping3实现SYN Flood1.1、主机探测1.2、扫描端…

Web后端搭建

目录 一 搭建服务器端 1.1安装服务器软件 1.2检查环境是否配置 1.3安装Tomcat 二 创建并发Web项目 2.1创建一个java项目 三 创建Servlet 前端程序如何才能访问到后端程序呢&#xff0c;这时候我们就需要web服务器来解决&#xff1a;将后端程序部署到服务器中&#xff0c…

SpringCloud Alibaba Sentinel 简介和安装

一、前言 接下来是开展一系列的 SpringCloud 的学习之旅&#xff0c;从传统的模块之间调用&#xff0c;一步步的升级为 SpringCloud 模块之间的调用&#xff0c;此篇文章为第十三篇&#xff0c;即介绍 SpringCloud Alibaba Sentinel 简介和安装。 二、Sentinel 简介 2.1 Sent…

Docker容器(五)Docker Compose

一、概述 1.1介绍 Docker Compose是Docker官方的开源项目&#xff0c;负责实现对Docker容器集群的快速编排。Compose 是 Docker 公司推出的一个工具软件&#xff0c;可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml&#xff0c;…

【Redis 知识储备】冷热分离架构 -- 分布系统的演进(5)

冷热分离架构 简介出现原因架构工作原理技术案例架构优缺点 简介 引入缓存, 实行冷热分离, 将热点数据放到缓存中快速响应 (如存储到 Redis中) 出现原因 海量的请求导致数据库负载过高, 站点响应再读变慢 架构工作原理 多了缓存服务器, 对于热点数据全部到缓存中, 不常用数…

Linux配置本地yum源,高效便捷,2024Linux运维者真的太难了

6.修改yum配置 备份你的原镜像文件&#xff0c;以免出错后可以恢复 mkdir /etc/yum.repos.d/backup && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ 7.添加一个新的yum源配置文件 vi /etc/yum.repos.d/dvd.repo 添加&#xff1a; [RHEL] nameRHEL7 b…

Linux CPU利用率

Linux CPU利用率 在线上服务器观察线上服务运行状态的时候&#xff0c;绝大多数人都是喜欢先用 top 命令看看当前系统的整体 cpu 利用率。例如&#xff0c;随手拿来的一台机器&#xff0c;top 命令显示的利用率信息如下 这个输出结果说简单也简单&#xff0c;说复杂也不是那么…

新零售SaaS架构:客户管理系统架构设计(万字图文总结)

什么是客户管理系统&#xff1f; 客户管理系统&#xff0c;也称为CRM&#xff08;Customer Relationship Management&#xff09;&#xff0c;主要目标是建立、发展和维护好客户关系。 CRM系统围绕客户全生命周期的管理&#xff0c;吸引和留存客户&#xff0c;实现缩短销售周…