String
# include <string>
선언
string str = " ";
char str[ ] = " ";
메소드
문자열 길이
string str = "abcde";
str.size(); // 5
str.length(); // 5
# strlen(str) 이 아닌 size() , length() 사용가능!!
str.empty() // 빈문자열이면 1 , 아니면 0
문자열 비교
string s1 = "string";
string s2 = "string";
s1 == s2 // 같으면 1 , 아니면 0
s1 < s2 // s2가 더크면 1 , 아니면 0
# strcmp(s1, s2) 를 대신해서 사용!!
문자열 삽입
string a = "Hello";
a.push_back('!'); // string이 아닌 char push_back
string a = "He";
a.append(2, 'l'); // Hell
a.append("o").append(1, '!'); // Hello!
string s = "e";
s.insert(0,"H"); // He
s.insert(2,"o"); // Heo
s.insert(2,2,'l').append("!"); // Hello!
형변환
string str = "21 Guns";
number = stoi(str); // 21
# 정수의 범위를 넘어서거나, string안에 정수가 포함되어있지 않으면 Error
int |
stoi |
unsigned long |
stoul |
unsigned long long |
stoull |
float |
stof |
double |
stod |
long double |
stold |
int num = 1;
string str = to_string(num);
# 정수나 다른형을 string으로 변환시킬때는, to_string() 사용!!
sstream
istringstream
char의 경우에는 strtok을 사용할 수 있으나,
string을 사용하는 경우, const char*를 반환하므로 복사가 필요하다
#Tokenizing
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <iostream> #include <string> #include <sstream> using namespace std; int main(int argc, const char * argv[]) { string inputStr; getline(cin, inputStr, '\n'); istringstream iss(inputStr); string token; while(getline(iss, token, ' ')){ cout << token << endl; } } | cs |
ostringstream
# 관련 문제
'Algorithm > C++ STL' 카테고리의 다른 글
[C++] 추가 정리 (0) | 2018.08.20 |
---|---|
[C++] Algorithm 정리 (0) | 2018.08.16 |
[C++] STL 정리 (0) | 2018.08.08 |