一、模拟实现strncpy
#include<stdio.h>
#include<stdlib.h>
#include <assert.h>
char *my_strncpy(char *dest, const char *src, int n) {
assert(dest != NULL);
assert(src != NULL);
char *ret = dest;
while (n) {
*dest = *src;
dest++;
src++;
n--;
}
return ret;
}
int main(){
char str1[] = "ab";
char str2[] = "1123";
char *ret = my_strncpy(str1, str2, 4);
printf("%s\n", ret);
system("pause");
return 0;
}
二、模拟实现strncat
#include<stdio.h>
#include<stdlib.h>
#include <assert.h>
char *my_strncat(char *dest, const char *src, int n) {
assert(dest != NULL);
assert(src != NULL);
char *ret = dest;
while (*dest){
dest++;
}
while (n){
*dest = *src;
dest+