有一个字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串,用指针处理。c++
时间: 2023-12-10 19:39:32 浏览: 84
以下是将一个字符串中从第m个字符开始的全部字符复制成为另一个字符串的函数实现,使用指针处理:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void copyString(char *src, char *dest, int m) {
int len = strlen(src); // 获取源字符串长度
if(m >= len) { // 如果m大于等于源字符串长度,则直接返回空字符串
dest[0] = '\0';
return;
}
// 将源字符串中从第m个字符开始的全部字符复制到目标字符串中
int j = 0;
for(int i = m; i < len; i++) {
dest[j++] = src[i];
}
dest[j] = '\0';
}
int main() {
char str[] = "Hello, World!";
char dest[50];
copyString(str, dest, 7);
cout << dest << endl; // 输出 "World!"
return 0;
}
```
在上面的代码中,我们首先获取了源字符串的长度,判断m是否大于等于源字符串长度,如果是则直接将目标字符串设置为空字符串。否则,我们使用一个循环,从第m个字符开始遍历源字符串中的全部字符,并将它们复制到目标字符串中。最后,我们在目标字符串的末尾添加一个空字符,以表示字符串的结束。
我们可以在main函数中测试这个函数,将一个字符串中从第m个字符开始的全部字符复制成为另一个字符串,并输出它。
阅读全文