예시 코드
#include <iostream>
#include <string>
int main()
{
std::string a = "0123456789abcdefghij";
// count 가 npos 이므로 pos 부터 문자열 끝까지 리턴한다.
std::string sub1 = a.substr(10);
std::cout << sub1 << '\n';
// pos 와 pos + count 모두 문자열 범위 안이므로, 해당하는 부분 문자열을 리턴한다.
std::string sub2 = a.substr(5, 3);
std::cout << sub2 << '\n';
// pos 는 문자열 범위 안이지만, pos+count 는 밖이므로, pos 부터 문자열 끝까지 리턴한다.
std::string sub4 = a.substr(a.size() - 3, 50);
std::cout << sub4 << '\n';
try
{
// pos 가 문자열 범위 밖이므로 예외를 발생시킴.
std::string sub5 = a.substr(a.size() + 3, 50);
std::cout << sub5 << '\n';
}
catch (const std::out_of_range& e)
{
std::cout << "pos exceeds string size\n";
}
}
실행 결과
abcdefghij
567
hij
pos exceeds string size
- copy : 문자를 복사한다.
- size : 문자열의 길이를 리턴한다.
- find : 문자열에서 원하는 문자열을 찾는다.
'C++ 문법' 카테고리의 다른 글
FVector::DotProduct 과 FVector::Dot 의 차이 (0) | 2024.02.28 |
---|---|
C++ BigInteger 구현 (1) | 2024.01.04 |
디자인 패턴, 정적 변수(static) (0) | 2022.04.15 |
생성자와 소멸자, 헤더 파일, cpp 파일 (0) | 2022.04.15 |
클래스 (0) | 2022.04.15 |