c语言strcpy函数能不能只复制部分字符啊,就是截取其中一段复制。
strncpy :
参考:
https://blog.csdn.net/LIUTAOZHU1013/article/details/89110024
那得用另一个函数,比如strncpy
是否是这意思,供参考:
#include <stdio.h>
#include <string.h>
int main()
{
char s1[] = "12345";
char s2[100];
strcpy(s2, s1 + 1);
printf("%s", s2);
return 0;
}
// C语言 版本
#include <stdio.h>
char* MyStrcpy(char* str1, const char* str2)
{
char* temp = str1;
if (NULL == str1 || NULL == str2)
{
printf("Argument error!");
return NULL;
}
while (*str2 != '\0')
{
*str1++ = *str2++;
}
*str1 = '\0';
str1 = temp;
return str1;
}
int main()
{
char str1[20] = { 0 };
char* str2 = "String!";
MyStrcpy(str1, str2);
printf("%s\n", str1);
return 0;
}
运行结果: