有一个字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串,用指针处理。
时间: 2023-12-10 07:40:04 浏览: 12
可以使用指针和循环来实现该函数。
函数的输入参数为原始字符串的指针、起始位置m和目标字符串的指针。函数的返回值为目标字符串的长度。
代码如下:
```c
int copyString(char *src, int m, char *dst) {
int len = 0;
char *p = src + m - 1; // 让 p 指向第 m 个字符的位置
while (*p != '\0') {
*dst = *p;
dst++;
p++;
len++;
}
*dst = '\0'; // 在目标字符串末尾添加 '\0',表示字符串结束
return len;
}
```
该函数的运行方式如下:
```c
int main() {
char src[] = "Hello, world!";
char dst[100];
int len = copyString(src, 7, dst);
printf("Target string: %s\n", dst);
printf("Length of target string: %d\n", len);
return 0;
}
```
输出结果为:
```
Target string: world!
Length of target string: 6
```
在这个例子中,原始字符串为 "Hello, world!",起始位置为第 7 个字符,即字符 'w'。将从第 7 个字符开始的所有字符复制到目标字符串中,并返回目标字符串的长度。最终输出目标字符串和其长度。
阅读全文