프로그램을 만들려고하는데, 이미 끝 냈지만 더 필요한 것이 있습니다. 따라서, 사용자는 내가 처음 * 내가 뭘 잘못 입력C++ 문자열 (입력)에서 문자를 지우는 방법
getline(cin,str);
int k=str.length();
for(int i=0; i<=k; i++)
if(str[i]=='*')
string::iterator it;
it=str.begin()+i;
str.erase(it);
break;
cout<<str<<endl;
cout을 지울 * 문자열이 포함 된 경우 입력을 제공하도록 요청?
는 경우 (STR [I]를 == '*')보십시오. 또한 명령문이 참인 경우에만 실행하려는 항목의 끝까지 중괄호를 추가하십시오. – jt234
'*'을 찾기 위해 ['str.find()'] (http://en.cppreference.com/w/cpp/string/basic_string/find)를 사용하고'str.erase()'버전이 있습니다. iterator 계산을 피하는 인덱스와 길이를 받아 들인다. – hmjd
또한 각 문자를 루핑하는 대신 find 메서드를 사용하는 것이 어떻습니까? 그것은 더 간단해야합니다. – RonaldBarzell