#include <sstream>
stringstream
설명
sstream 은 string stream 의 약자이다. string stream 는 주어진 어떠한 문자열에서 원하는 자료형으로 정보를 얻을 수 있다. 또한 여러가지 자료형을 가진 데이터들이 들어올 때 효과적으로 관리를 할 수 있다.
stringstream 은 저장이 된 문자열에서 공백(' ')과 줄바꿈('\n') 을 기준으로 문자열을 구분하여 처리한다.
1) 문자열에 대해서 띄어쓰기를 기준으로 원하는 자료형으로 분리를 할 수 있다.
#include <iostream>
#include <sstream>
using namespace std;
int main() {
string out;
string strInput = "Hello world hello C++";
stringstream s_stream;
s_stream.str(strInput);
while (s_stream >> out) cout << out << '\n';
s_stream.str(""); // 초기화
}
#include <iostream>
#include <sstream>
using namespace std;
int main() {
int out;
int sum = 0;
string strInput = "111 222 333";
stringstream s_stream;
s_stream.str(strInput);
while (s_stream >> out) {
int cur = out;
sum += cur;
printf(" sum += %d\n", out);
}
printf(" sum is %d\n", sum);
s_stream.str(""); // 초기화
}
2) 여러가지 자료형으로 들어온 데이터들을 임시 저장하고, 원하는 자료형으로 저장할 수 있다.
#include <iostream>
#include <sstream>
using namespace std;
int main() {
stringstream s_stream;
int num1 = 123;
double num2 = 342.4;
s_stream << num1 << " " << num2; //공백을 넣어주어야 num1, num2를 분리하여 인식한다.
string str1;
string str2;
s_stream >> str1 >> str2; // num1을 str1에, num2를 str2에 저장한다.
cout << " str1 : " << str1 << "\n str2 : " << str2 << '\n';
}
728x90
'C, C++ > Header' 카테고리의 다른 글
lower_bound, upper_bound (0) | 2021.02.04 |
---|
댓글