|
세종맨 님이 쓰신 글 :
: 고수님들의 글을 보면 많은것을 배우고 있는 C++ 초보입니다.
:
: Char *aaa;
:
: aaa = "ABCDEFGHIJK;LMNOP;QRSTU";
:
: aaa의 값중 ;를 삭제하고 다음과 같은 값을 만들고 싶습니다.
:
: aaa = "ABCDEFGHIJKLMNOPQRSTU";
:
: 고수님들의 답변 부탁드리겠습니다.
이런 기능을 C 함수만으로 구현하기는 약간 까다롭습니다만,
STL의 string과 remove 알고리듬을 사용하면 한 줄로 끝납니다.
//---------------------------------------------------------------------------
#include <iostream>
#include <cassert>
#include <string>
#pragma hdrstop
#include <algorithm>
//---------------------------------------------------------------------------
using namespace std;
int main()
{
string aaa = "ABCDEFGHIJK;LMNOP;QRSTU;VWXYZ";
// 아래 한 줄이면 됩니다: remove 후에는 반드시 erase 멤버함수를 써서 실제로 삭제해야 합니다.
aaa.erase(remove(aaa.begin(), aaa.end(), ';'), aaa.end());
assert(aaa == "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
cout << "-- Ok --\n";
return 0;
}
//---------------------------------------------------------------------------
|