>  기사  >  백엔드 개발  >  std::string\의 rfind를 사용하여 접두어를 확인하고 하위 문자열을 정수로 변환하는 방법은 무엇입니까?

std::string\의 rfind를 사용하여 접두어를 확인하고 하위 문자열을 정수로 변환하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-01 19:41:30576검색

How can std::string's rfind be used to check for a prefix and convert a substring to an integer?

std::string의 rfind 오버로드를 사용하여 접두사 확인 및 하위 문자열을 Int로 변환

C std::string이 시작하는지 확인하려면 특정 문자열을 사용하여 하위 문자열을 정수로 변환하면 오버로드된 rfind 함수를 활용할 수 있습니다.

문자열 접두사 확인

검색을 허용하는 rfind 오버로드를 사용하세요. 위치 매개변수(pos). 이 매개변수를 0으로 설정하면 검색이 문자열의 시작 부분으로 제한됩니다.

<code class="cpp">std::string s = "tititoto";
if (s.rfind("titi", 0) == 0) {
  // The string s starts with the "titi" prefix.
}</code>

하위 문자열을 Int로 변환

알려진 접두사 뒤의 하위 문자열을 추출하고 변환하려면 이를 정수로 변환하려면 rfind와 substr의 조합을 사용할 수 있습니다.

<code class="cpp">std::string arg = "--foo=98";
size_t pos = arg.rfind("--foo=");
if (pos != std::string::npos) {
  std::string fooValue = arg.substr(pos + len("--foo="));
  int value = std::stoi(fooValue);
}</code>

이 예에서 arg가 "--foo=98"이면 변수 값에 정수 값 98이 할당됩니다.

STL의 장점

이 접근 방식을 사용하면 Boost와 같은 외부 라이브러리가 필요하지 않습니다. 구현하기 쉽고 효율적인 STL에서 제공하는 표준 문자열 조작을 활용합니다.

C 20 단순화

C 20 이상에서는 std:: string 및 std::string_view 클래스는 시작_with 메서드를 도입하여 접두사 확인을 더욱 간단하게 만듭니다.

<code class="cpp">std::string s = "tititoto";
if (s.starts_with("titi")) {
  // The string s starts with the "titi" prefix.
}</code>

위 내용은 std::string\의 rfind를 사용하여 접두어를 확인하고 하위 문자열을 정수로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.