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 중국어 웹사이트의 기타 관련 기사를 참조하세요!