split 부분에서 input.find(delimiter)의 값에 대한 궁금증 입니다!
미해결
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
큰돌님 안녕하세요! C++ 교안을 공부하다가 split 부분에서 궁금한 것이 생겨서 질문 드립니다! while((pos=input.find(delimiter)) != string::npos){ cout << input.find(delimiter) << "\n"; token = input.substr(0, pos); ret.push_back(token); input.erase(0, pos+delimiter.length()); } 이 함수에서 find 반환값이 궁금해 cout로 출력을 시켜봤습니다. 예상대로는 "안녕하세요 큰돌이는 바보에요 정말이에요!" 문자열의 스페이스 index인 5, 4, 4가 나와야할 것 같았는데 두배인 10, 8, 8이 출력이 되었고 다른 컴파일러를 사용했을 때는 세배인 15, 12, 12 출력 되었습니다. 혹시 이렇게 배수로 출력되는 이유가 따로 있는지 궁금합니다!
- split
- C++
- value
- 코테 준비 같이 해요!
- find
- input
박근철
댓글 1
좋아요 0
조회수 382





