PTA:编程实现strncpy函数功能(C语言)

题目

本题要求编程实现“n"族字符串拷贝函数功能strncpy(),而不使用标准库自带函数。

函数接口定义: char *MyStrNcpy(char *dst, const char *src, int n);

此函数把字符串src中的前n个字符复制到到dst所指向的内存空间。
(1)如果src指向的字符串少于n个字符,则将’\0’加到dst的尾部,直到满足n个字符为止;
(2)如果src指向的字符串大于n个字符,则拷贝src的前 n个字符到dst;
(3)返回指向dst的指针。

裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:

#include <stdio.h>
#define N 10
char *MyStrNcpy(char *dst, const char *src, int n);
int main()
{char arr_dst[N] = "AAAAAAAAA";char arr_src[N] = { ‘\0};gets(arr_src);//输入源字符串int n;scanf("%d",&n);//输入拷贝长度char * new_dst;//函数调用返回目的字符串指针new_dst = MyStrNcpy(arr_dst, arr_src, n);printf("%s\n", new_dst);//打印输出return 0;
}/* 请在这里填写答案 */

样例

输入样例1:
China
2
输出样例1:
ChAAAAAAA
输入样例2:
China
6
输出样例2:
China

解题

char *MyStrNcpy(char *dst, const char *src, int n) {  int i = 0;  while (i < n && src[i] != '\0') {  dst[i] = src[i];  i++;  }  while (i < n) {  dst[i] = '\0';  i++;  }  return dst;  
}

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

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

相关文章

c/c++ 非托管环境 和 C#/JAVA 托管环境编译的基本原理

纯C/C的程序通常运行在一个非托管环境中&#xff0c;类是由头文件&#xff08;.h&#xff09;和实现文件&#xff08;.cpp&#xff09;组成&#xff0c;每个类形成了一个单独的编译单元&#xff0c;当我们编译程序时&#xff0c;几个基本组件会把我们的源代码翻译成二进制代码。…

WPF中DataGrid解析

效果如图&#xff1a; 代码如下&#xff1a; <DataGrid Grid.Row"1" x:Name"dataGrid" ItemsSource"{Binding DataList}" AutoGenerateColumns"False"SelectedItem"{Binding SelectedItem,UpdateSourceTriggerPropertyChange…

【开题报告】海洋多源数据质量控制应用服务的WebServer设计与实现

开 题 报 告 内 容 论文选题的意义、主要研究内容和文献资料调研情况 一、选题意义 在当今世界研究自然环境的大背景下&#xff0c;计算机技术与各学科、各领域的综合应用逐渐增多。作为地球上最广阔的水体&#xff0c;同时也是地球上决定气候发展的主要的因素之一&#xff0…

android13(T) 客制化预置语言列表

效果图 需求分析 这个列表界面一般都是后来手动添加后才现实的&#xff0c;通过分析源码发现通过如下值可控 adb shell settings get system system_locales zh-CN,ja-JP,en-AT 所以只需查询出这个值&#xff0c;然后加在 SettingProvider 中即可 隐藏 bug 如果客户要求默…

马骑顿部署实在RPA,所产价值超该项目投入6倍

“数字化最大的挑战在于我们增长太快了&#xff0c;对于全域经营的DTC品牌来说&#xff0c;让一个部门去管理所有平台数据&#xff0c;形成品牌全域生意的协同实非易事。”马骑顿运营部负责人表示。2022年&#xff0c;马骑顿搭建企业数据中台&#xff0c;统一管理线上数据&…

C++ day43 最后一块石头的重量 目标和 一和零

题目1&#xff1a;1049 最后一块石头的重量 题目链接&#xff1a;最后一块石头的重量 对题目的理解 整数数组stone[i]表示第i块石头的重量&#xff0c;每次从中选出任意两块石头(x<y)粉碎 如果两块石头重量相等&#xff0c;就会被完全粉碎&#xff1b;如果不等&#xff…

c语言 / typedef和define之间的区别

1. 举例 typedef int size_4&#xff1b;//size_4 等同于int#define size_4 int&#xff1b;//size_4 会被int替换 2.区别 typedef属于类型重定义&#xff0c;define属于宏替换define只能替换基类型&#xff0c;typedef可以重定义任何复杂的数据类型define发生在预处理阶段&…

实在品牌墙又双叒叕扩容,数十家龙头品牌签约实在RPA

近日&#xff0c;“实在智能 华夏行”数智化赋能之旅火爆前行&#xff0c;为孩子王、视客眼镜、心海伽蓝、洁丽雅、诗裴丝、视贝、博纳泉、鑫荣懋、艾莱得、布诗等数十家优秀企业带来超自动化智能解决方案&#xff0c;帮助商家解决重复低效工作&#xff0c;降低运营成本&#x…

ERROR: [pool www] please specify user and group other than root

根据提供的日志信息&#xff0c;PHP-FPM 服务未能启动的原因是配置文件中的一个错误。错误消息明确指出了问题所在&#xff1a; [29-Nov-2023 14:28:26] ERROR: [pool www] please specify user and group other than root [29-Nov-2023 14:28:26] ERROR: FPM initialization …

RFC4493——AES-CMAC

文章目录 Abstract1 Introduction2 Specification of AES-CMAC2.1 Basic Definitions2.2 Overview2.3 Subkey Generation Algorithm2.4 MAC Generation Algorithm2.5 MAC Verification Algorithm 3 Security Considerations4 Test Vectors5 测试代码5.1 C语言版本5.2 Python语言…

34.基于webpack搭建开发环境

一、webpack配置问题 webpack确实强大&#xff0c;但是配置loader、plugin也确实存在与node、npm、webpack版本之间存在冲突的问题&#xff08;真正的从入门到放弃&#xff09;。为了方便平时的开发&#xff0c;我基于webpack4.x 整合了react、vue3、ts开发环境&#xff0c;支持…

阿里健康再得阿里巴巴资产注入 实现“自营+佣金+营销”多轮驱动

11月28日晚间&#xff0c;阿里健康发布公告宣布&#xff0c;正式与阿里巴巴集团签署股权认购协议&#xff0c;以135.12亿港元对价&#xff0c;获得阿里妈妈医疗健康类目的独家营销审核权及附属权利。交易完成后&#xff0c;阿里巴巴集团在阿里健康的持股比例将从56.99%上升到63…

鸿蒙原生应用/元服务开发-AGC分发如何下载管理Profile

一、收到通知 尊敬的开发者&#xff1a; 您好&#xff0c;为支撑鸿蒙生态发展&#xff0c;HUAWEI AppGallery Connect已于X月XX日完成存量HarmonyOS应用/元服务的Profile文件更新&#xff0c;更新后Profile文件中已扩展App ID信息&#xff1b;后续上架流程会检测API9以上Harm…

RHCE第五次作业

目录 1.算数运算命令有哪几种&#xff1f; 1.&#xff08;&#xff08;&#xff09;&#xff09; 2&#xff0c;let 3.[] 4.declare -i 5.expr 6.bc 7.awk 总结&#xff1a; 2..定义变量urlhttps://blog.csdn.net/weixin_45029822/article/details/10356881…

springboot集成springsecurity

转载自&#xff1a;www.javaman.cn 1、整合springsecurity 添加pom.xml <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId> </dependency>2、springsecurity认证授权流程…

OpenCV | 模版匹配

import cv2 #opencv读取的格式是BGR import numpy as np import matplotlib.pyplot as plt#Matplotlib是RGB %matplotlib inline 模版匹配 模版匹配和卷积原理很像&#xff0c;模版在原图像上从原点开始滑动&#xff0c;计算模版与&#xff08;图像被模版覆盖的地方&#xff…

vscode一直不能跳转函数定义或者别的定义c_cpp_properties.json、settings.json

vscode好几天一直不能跳转函数定义或者别的定义&#xff0c;突然又好了。。。 c_cpp_properties.json {"configurations": [{"name": "windows-gcc-x86","includePath": ["${workspaceFolder}/**","D:/adas/ADAS_FUS…

go标准库

golang标准库io包 input output io操作是一个很庞大的工程&#xff0c;被封装到了许多包中以供使用 先来讲最基本的io接口 Go语言中最基本的I/O接口是io.Reader和io.Writer。这些接口定义了读取和写入数据的通用方法&#xff0c;为不同类型的数据源和数据目标提供了统一的接…

同旺科技 USB 转 RS-485 适配器 -- 隔离型(定制款)

内附链接 1、USB 转 RS-485 适配器 隔离版主要特性有&#xff1a; ● 支持USB 2.0/3.0接口&#xff0c;并兼容USB 1.1接口&#xff1b; ● 支持USB总线供电&#xff1b; ● 支持Windows系统驱动&#xff0c;包含WIN10 / WIN11 系统32 / 64位&#xff1b; ● 支持Windows …

一文例说嵌入式 C 程序的内聚和耦合

1 - 原理篇 低耦合&#xff0c;是指模块之间尽可能的使其独立存在&#xff0c;模块之间不产生联系不可能&#xff0c;但模块与模块之间的接口应该尽量少而简单。这样&#xff0c;高内聚从整个程序中每一个模块的内部特征角度&#xff0c;低耦合从程序中各个模块之间的关联关系…