입력 문자열을 가져 와서 공백을 제거하려고했습니다. 그것은 공백에 도달 할 때를 제외하고는 그 후에 모든 것을 삭제합니다.공백을 제거하는 데 문제가 있습니다. C++
여기 내 코드입니다 (유래에 비슷한 주제를 내려서) : 예를 들어
string removeSpaces(string s){
s.erase(remove(s.begin(),s.end(), ' '),s.end());
return s;
}
, I 입력 "1 +1"이 "1"을 반환합니다. 어떻게 해결할 수 있을까요? 제거 공백없이 입력 동일한 문자열을 반환
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string input;
string removeSpaces(string s){
s.erase(remove(s.begin(),s.end(), ' '),s.end());
return s;
}
int main(){
getline(cin, input);
removeSpaces(input);
cout << input;
}
:
는 여기에 내가 뭘하려의 전체 예입니다.
그 코드는 저에게 잘 작동합니다. – Galik
맹목적으로 복사하는 대신 다른 사람의 코드가 의미하는 바를 이해하려고하면됩니다. :) – mlwn
어떻게's'를 얻었습니까? 'cin >> s;'가 예상대로 작동하지 않을 수도 있습니다. 대신'getline()'을 시도하십시오. –