이번 포스팅은 지난 포스팅에 이어서 문자열을 처리하는 방법에 대해 소개하겠습니다.
1. 문자열 비교하기
문자열을 비교는 2가지로 나눠서 볼 수 있습니다.
1) 대소문자 구별해서 비교하기
먼저, 대소문자 구별해서 비교하기는 흔히 알고 있는 단순비교입니다.
String s1 = "abc";
String s2 = "abc";
int ret = s1.compare(s2);
ret == 1 |
a 와 b 가 같은 경우 |
ret < 0 |
a 가 b 보다 앞선 경우(사전순으로) |
ret > 0 |
a 가 b 보다 뒤인 경우 |
이와 같이 간단히 비교할 수 있습니다.
2) 대소문자 구분없이 비교하기
다음으로는 대소문자 구분없이 비교하기입니다.
String s1 = "hello";
String s2 = "HELLO";
int ret = stricmp(s1, s2);
정수형 변수 ret == 0 인 경우 같은 문자열입니다.
(다른 예외상황은 위와 같다.)
2. 문자열 변환
문자열은 int형과 char형으로 변환이 가능합니다.
또한, 문자열 처리할 시 유용하게 사용됩니다.
1) string <-> char
string str = "hello";
char* s = str.c_str();
--> String 변수 str은 메소드( c_str() ) 를 사용하여 형변환이 가능합니다.
string str = string(s);
--> char 형 문자열은 위와 같은 형식으로 string 문자열로 변환이 가능합니다.
2) string <-> int
string s = "1234";
int val = atoi(s.c_str());
--> string 변수는 atoi( string.c_str() ) 를 사용하여 변환이 가능합니다.
string s2 = to_string(val);
--> 정수현 val 변수는 to_string 메소드를 통해 string 변수로 변환이 가능합니다.
'알고리즘 > 이론 정리' 카테고리의 다른 글
C++ STL 다루기 - vector (0) | 2018.12.21 |
---|---|
문자열 처리(1) (0) | 2018.11.14 |
완전 탐색(Brute-force) (3) | 2018.10.06 |