模拟实现strncpy

代码展示:

javascript 复制代码
#include <stdio.h>

#include <stddef.h>



//模拟strncpy 

char* my_strncpy(char* dest, char* src, size_t n)

{

	char* start = src;

	while(n > 0 && *src != '\0')

	{

		*dest = *src;

		dest++;

		src++;

		n--;

	}

	while(n > 0)

	{

		*dest = '\0';

		dest++;

		n--;

	}

	return start;

}



//测试 

int main()

{

	char arr1[20] = "xxxxxxxxxx";

	char arr2[] = "abcdef";

	

	//测试源串长度<n

	my_strncpy(arr1, arr2, 8);

	printf("结果为%s\n", arr1);

	

	//测试源串长度>n

	char arr3[] = "1234567890";

	my_strncpy(arr3, arr2, 3);

	printf("结果为%s\n", arr3);

	return 0;

};

测试结果:

总结:

本题主要用到指针操作,需要考虑指针移动和指针类型等细节。

坚持编程,我一直在路上!

相关推荐
2401_858286111 小时前
OS82.【Linux】设计线程池
java·linux·运维·服务器·开发语言·算法·线程池
Epiphany.5562 小时前
找到所有好字符串(记忆化搜索+KMP)(里面含KMP模板,用来入门)
算法
c238562 小时前
C/C++每日一练20
c语言·开发语言·c++
CAE二次开发工程师3 小时前
【C语言入门到精通】-基础篇
c语言·开发语言·python
深圳市快瞳科技有限公司4 小时前
个体识别、行为解读、健康管理:多模态宠物AI大模型的场景化落地
人工智能·算法·计算机视觉·大模型·多模态·宠物·宠物ai识别
liulilittle4 小时前
归一化:激活函数
人工智能·算法·机器学习·llm
Mem0rin5 小时前
前缀和:一维与二维
数据结构·算法
小趴蔡ha6 小时前
12 K-Means 聚类入门:没有标签如何发现数据分组
算法·kmeans·聚类
-dzk-6 小时前
【二叉树】LC 101.对称二叉树
算法·二叉树