c++有一个字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串,用指针处理。
时间: 2023-12-10 08:41:10 浏览: 53
可以使用指针来处理这个问题,具体步骤如下:
1. 定义两个字符型指针变量,分别指向原字符串和目标字符串的首地址。
2. 将原字符串的指针移动到第m个字符处,即原字符串指针加上m-1。
3. 使用while循环,将原字符串指针所指向的字符逐个复制到目标字符串指针所指向的位置,同时使两个指针均向后移动一位,直至原字符串结束。
4. 在目标字符串末尾添加一个'\0'字符,表示字符串结束。
下面是代码实现:
```c++
void copyString(char* source, char* target, int m)
{
source += m - 1; // 将原字符串指针移动到第m个字符处
while (*source != '\0') {
*target = *source; // 复制字符
source++; // 原字符串指针向后移动一位
target++; // 目标字符串指针向后移动一位
}
*target = '\0'; // 在目标字符串末尾添加'\0'字符
}
```
调用函数的方式如下:
```c++
char source[] = "This is a test string.";
char target[20]; // 定义一个长度为20的目标字符串
int m = 6;
copyString(source, target, m);
cout << "The result is: " << target << endl;
```
输出结果为:
```
The result is: is a test string.
```
阅读全文