C语言中没有从某位置开始指定长度子字符串的函数(还是我没找到?),只有从头开始截取的strncat和strncpy,
以strncpy为例:
char dest[4] = {""};
char src[] = {"123456789"};
strncpy(dest, src, 3);
puts(dest);
输出结果为 123
看到了吗,strcpy函数中的参数是字符串数组的名字,而数组名本质上是指针,那么,src+3 就可以实现将 src中从第4个字符开始复制n个字符给 dest 了
char dest[4] = {""};
char src[] = {"123456789"};
strncpy(dest, src+3, 3);
puts(dest);
输出结果为 456