c语言练习46:模拟实现strncpy

模拟实现strncpy

 模拟实现:

指针:

#include<stdio.h>
char* my_strncpy(char*dest,char*src,size_t num) {
	char* ret = dest;
	size_t i = 0;
	for (i = 0; i < num; i++) {
		*dest = *src;
		dest++;
		src++;
	}
	*dest = '\0';
	return ret;
}
int main() {
	char aim[50] = { 0 };
	char src[] = "abcdefg";
	my_strncpy(aim,src,3);
	printf("%s\n", aim);
	return 0;
}

 数组:

#include<stdio.h>
char* my_strncpy(char* dest, char* src, size_t num) {
	char* ret = dest;
	size_t i = 0;
	for (;src[i]!='\0'&&i < num; i++) {
		/**dest = *src;
		dest++;
		src++;*/
		dest[i] = src[i];
	}
	//*dest = '\0';
	/*dest[i] = '\0';*/
	return ret;
}
int main() {
	char aim[50] = { 0 };
	char src[] = "abcdefg";
	my_strncpy(aim, src, 3);
	printf("%s\n", aim);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/2301_77479435/article/details/132780070