>  기사  >  백엔드 개발  >  C에서 접두어를 효율적으로 확인하고 하위 문자열을 정수로 변환하는 방법은 무엇입니까?

C에서 접두어를 효율적으로 확인하고 하위 문자열을 정수로 변환하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-31 10:05:02750검색

How to Efficiently Verify Prefixes and Convert Substrings to Integers in C  ?

C에서 효율적으로 접두어 확인 및 하위 문자열을 정수로 변환

문자열이 특정 접두어로 시작하는지 확인하고 하위 문자열을 변환해야 함 정수로 변환하는 것은 프로그래밍의 일반적인 작업입니다. Python에서는 startwith() 및 int() 함수를 사용하여 이를 쉽게 달성할 수 있습니다. 그러나 C에서 유사한 기능을 구현하려면 다른 접근 방식이 필요합니다.

C std::string이 특정 문자열로 시작하는지 확인하려면 위치 매개변수 pos를 0으로 설정한 rfind() 함수를 사용할 수 있습니다. 이렇게 하면 문자열 시작 부분이나 그 이전의 접두사만 일치하도록 검색이 제한됩니다. 예를 들어, argv[1]이 "--foo=":

if (argv[1].rfind("--foo=", 0) == 0) {
  // argv[1] starts with "--foo="
}

으로 시작하는지 확인하려면 부분 문자열을 정수로 변환하려면 stoi() 함수를 사용할 수 있습니다. 그러나 rfind()는 위치를 반환하므로 먼저 하위 문자열을 추출해야 합니다. 업데이트된 Python 의사 코드는 다음과 같습니다.

if argv[1].startswith('--foo='):
    foo_value = int(argv[1]['--foo='.len():])

C에서는 다음과 같이 번역됩니다.

size_t pos = argv[1].rfind("--foo=", 0);
if (pos != std::string::npos) {
  foo_value = std::stoi(argv[1].substr(pos + 6));
}

이 접근 방식은 효율적이고 간단하며 외부 라이브러리나 추가적인 복잡성이 필요하지 않습니다. C에서 접두사 검사와 하위 문자열 변환을 위한 간결하고 효과적인 솔루션을 제공합니다.

위 내용은 C에서 접두어를 효율적으로 확인하고 하위 문자열을 정수로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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