要求:有一个字符串,包含n个字符。写一函数,将此字符串从第m个字符开始的全部字符复制成另一个字符
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<assert.h>
char* My_strncopy(const char* src, int m)
{
int i = 0;
m = m - 1;
assert(NULL != src);
if (NULL == src)
return NULL;
if (m > strlen(src))
return NULL;
char* des = (char*)malloc((strlen(src)-m+1 ) * sizeof(char));
assert(des != NULL);
if (NULL == des)
return NULL;
for ( i = 0; src[i+m] !='\0'; i++)
{
des[i] = src[i + m];
}
des[i] = '\0';
return des;
}
int main()
{
const char str[] = "want to go home!";
printf("%s\n",My_strncopy(str, 3));
}
输出如下: