编写函数,从字符串src中复制第begin个字符开始的连续cnt个字符构成新字符串trg。 要求使用指针实现。 函数接口定义: void substr(char *src, int begin, int cnt, char *trg);
时间: 2024-02-12 15:07:24 浏览: 131
C语言程序设计-用函数实现字符串的复制, 不允许用strcpy()函数.c
5星 · 资源好评率100%
好的,我来为您编写这个函数。以下是函数的实现:
```c++
void substr(char *src, int begin, int cnt, char *trg) {
if (!src || !trg || cnt <= 0) {
return;
}
int len = strlen(src);
if (begin < 0 || begin >= len) {
return;
}
for (int i = 0; i < cnt && begin + i < len && src[begin + i] != '\0'; ++i) {
trg[i] = src[begin + i];
}
trg[cnt] = '\0';
}
```
函数的参数说明如下:
- `src`:指向源字符串的指针。
- `begin`:起始位置,从0开始。
- `cnt`:要复制的字符数。
- `trg`:指向目标字符串的指针。
函数的实现比较简单,我们只需要遍历源字符串中的每个字符,从起始位置开始,复制指定个数的字符,最后返回即可。需要注意的是,当起始位置超过字符串长度时,函数应该直接返回。
阅读全文