Python에 감사하게 되는 C++의 문자열 다루기..
C++ 코테를 대비하여 나를 위해 남기는 기록이다.
놀랍게도 아래 모든 것들이 파이썬에서는 split() 하나면 된다.
istringstream
과 getline
인 것 같다.#include <iostream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;
int main() {
vector<string> res;
string now, input;
string strbuffer;
istringstream ss;
cin>>input;
ss.str(input);
while (getline(ss, now, ':')){ //ss에서 ':'를 만날 때까지 now에 담아 배출
res.push_back(now);
}
for(int i=0; i<res.size(); i++){
cout<<res[i]<<endl;
}
return 0;
}
getline(cin, input)
으로 받았다.#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
string input, output;
istringstream ss;
getline(cin, input);
ss.str(input);
while(ss>>output){
cout<<output<<endl;
}
return 0;
}
#include <iostream>
#include <string>
using namespace std;
int main() {
string input1, input2, input3;
cin >> input1 >> input2 >> input3;
cout << input1 << " " << input2 << " " << input3;
return 0;
}
vector<string> split(string& s, string& sep) {
int pos = 0;
vector<string> res;
while (pos < s.size()) {
int nxt_pos = s.find(sep, pos); //pos부터 찾는 것
if (nxt_pos == -1) {
nxt_pos = s.size();
}
if (nxt_pos-pos>0) res.push_back(s.substr(pos, nxt_pos-pos));
pos = nxt_pos + sep.size();
}
return res;
}