用c++编写一个函数function,其功能是删除一个字符串中指定下标的字符,其中a指向原字符串,删除指定原的字符串存放在b所指数组中,n中存放指定的下标
时间: 2024-03-22 07:38:02 浏览: 65
好的,我可以为您编写这个函数。以下是使用C++语言实现删除字符串中指定下标字符的代码:
```c++
#include <iostream>
#include <cstring>
void deleteChar(char* a, char* b, int n)
{
int len = strlen(a);
if (n < 0 || n >= len) {
std::cout << "Invalid index!" << std::endl;
return;
}
int j = 0;
for (int i = 0; i < len; i++) {
if (i != n) {
b[j++] = a[i];
}
}
b[j] = '\0';
}
int main()
{
char a[] = "hello world";
char b[20];
int n = 6;
deleteChar(a, b, n);
std::cout << "Original string: " << a << std::endl;
std::cout << "Modified string: " << b << std::endl;
return 0;
}
```
函数deleteChar接受三个参数,分别为指向原字符串的指针a、指向存放删除指定字符后的字符串的指针b和指定的下标n。在函数内部,首先获取原字符串的长度len,如果指定下标n不合法,则输出错误信息并返回。接下来遍历原字符串a,如果索引不等于n,就将该字符添加到存放删除指定字符后的字符串b中。最后在b的末尾添加一个空字符'\0',以表示字符串的结束。在main函数中,我们给出一个示例字符串"hello world",并调用deleteChar函数进行测试。输出结果如下:
```
Original string: hello world
Modified string: hello orld
```
我们可以看到,删除指定下标为6的字符'o'后,得到的字符串为"hello orld",符合我们的预期。
阅读全文