我编写了以下程序,它将从 string1 中删除 string2 中存在的所有常见字符。
#include<iostream>
#include<string>
#include<iterator>
using namespace std;
void DelCommonChar(char *input, string s2)
{
string s1(input);
string::iterator it1;
string::iterator it2;
for(it1=s1.begin();it1<s1.end();it1++)
{
for(it2=s2.begin();it2<s2.end();it2++)
{
if(*it1==*it2){it1=s1.erase(it1);it1--;}
}
}
cout<<s1<<endl; // Line Number 20
}
int main()
{
char c[32];
strncpy(c,"Life of Pie",32);
DelCommonChar(c,"def");
cout<<c<<endl; //Line Number 29
}
Output:Li o pi ......... printed through line number 20.
但现在我想改变变量c[32]
本身,main function
我想line number 29
打印输出。
您能帮帮我吗,如何c[32]
仅在函数内部更改变量DelCommonChar
?
注意:我不想更改函数返回数据类型void
。