문자열 2의 모든 공통 문자를 삭제하는 다음 프로그램을 작성했습니다.C++ : 함수를 통해 포인터를 사용하여 문자열 조작
#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.
는하지만 지금은 main function
에있는 변수 c[32]
자체를 chagne 할 내가 출력을 인쇄 line number 29
를 원한다.
함수 내에서만 변수 c[32]
을 어떻게 변경할 수 있습니까?
참고 : 함수 반환 데이터 형식 void
을 변경하고 싶지 않습니다.
다음과 같은 줄 번호로 코드를 게시하지 마십시오. 독자가 이것을 편집기에 복사하여 붙여 넣을 수 없으며 컴파일 할 수 없습니다. –
@OliCharlesworth 질문에 줄 번호를 언급 했으므로 여기서 줄 번호 만보고 독자를 편하게하고 싶었습니다. 메모장 + +를 사용하여 열을 세로로 선택하고 제거하면 도움이 될 수 있습니다. – CodeCodeCode
@CodeCodeCode : 나는 독자들이 정말로 라인 번호를 필요로하지 않는다고 확신한다. 관심 지점을 주석 또는 무엇인가로 표시하십시오. '// 예를 들어, 줄 끝 부분에 문제가있다. ' – SigTerm