split()함수 : 문자열을 특정 문자열을 기준으로 쪼개어서 배열화시키는 함수
*C++에서는 STL에서 split()함수를 지원하지 않는다.
> 구현 코드
> 필수 암기 코드
> 코드 분석
1. input에서 delimiter(구분 문자)를 찾는다. 못 찾을 때 까지 이 루프는 무한반복
while ((pos = input.find(delimiter)) != string::npos
2. 찾았다면 구분 문자가 있는 pos까지 해당 부분 문자열을 추출
token = inpur.substr(0,pos);
3. 추출한 문자열을 ret라는 배열에 넣기
ret.push_back(token);
4. 앞에서 부터 문자열을 지운다. ex)안녕하세요 복순입니다에서 pos = 5, delimier 사이즈는 1이기 때문에 6의 크기의 문자 열을 제거해 복순입니다만 남게 된다.
input.erase(0, pos+ delimiter.length());
범위기반 for 루프
범위기반 for 루프 : c++ 11부터 범위기반 for 루프를 사용할 수 있으며, vector 내의 있는 요소들을 쉽게 순회할 수 있다.
> 구현 코드
1번과 1번은 같은 의미이다. for ({타입} {임시변수명} : {타입을 담은 컨테이너})
atoi(s.c_str())
문자열을 int로 바꿔야 할 상황이 있다. ex) 입력이 "amumu" 또는 0 이렇게 온다라고 했을 때 문자열 , string으로 입력을 받아 입력받은 글자가 문자열인지 숫자인지 확인해야하는 로직이 필요할 때
> 구현 코드
입력받은 문자열 s를 기반으로 atoi(s.c_str())로 쓰인다. 문자열이 문자면 0을 반환하고 아니라 숫자 그대로 반환한다.