C++에서 부울 변수는 참 또는 거짓이라는 이진 데이터로 구성되며, 문자열 변수는 문자, 숫자, 특수 문자의 시퀀스입니다. 컴파일러 자체는 문자열을 부울로 변환할 수 없지만 이 변환을 수행하는 방법에는 여러 가지가 있습니다. 문자열 값을 부울 값으로 변환하는 다양한 방법을 살펴봅니다.
알고리즘을 생각해보면 꽤 간단해요. 문자열 값을 가져와서 다양한 방법을 사용하여 부울 값으로 변환합니다.
Boolalpha는 부울 및 영숫자 값을 조작하는 데 사용할 수 있는 스트림 I/O 조작기입니다. Istringstream은 문자 스트림에서 다양한 기능을 구현하는 데 사용되는 문자열 스트림입니다. boolalpha는 스트림과 함께 작동하므로 isringstream과 함께 사용하여 문자열 값을 부울 값으로 변환할 수 있습니다.
이 예에서는 문자열 값을 입력으로 사용합니다. 그런 다음 isringstream 개체를 사용하여 문자열 값을 포함하고 boolalpha 수정자를 사용하여 이를 부울 변수로 변환합니다. 비교를 위해 입력 및 출력 값을 인쇄합니다.
다음 예에서는 문자열 값을 부울 값으로 변환하기 위해 기본 문자열 비교를 수행했습니다. 문자열 값이 'false'이면 0이 반환되고, 그렇지 않으면 1이 반환됩니다. 이는 'false'를 제외한 모든 문자열에 대해 true를 반환한다는 점에 유의하세요. 하지만 이 방법이 구현하기 가장 쉽습니다.
이전 예에서는 "true"를 부울 "1"로, "false"를 부울 "0"으로만 변환했습니다. 이제 어떤 경우에는 문자열 값이 0 또는 1일 수 있습니다. 이 경우 stoi 함수를 사용하여 문자열 값을 정수로 변환한 다음 부울 값으로 변환할 수 있습니다. stoi 함수는 문자열 값을 정수로 변환하고 명시적인 유형 변환을 사용하여 값을 부울 값으로 변환할 수 있습니다.
"true", "1", "false" 또는 "0" 값을 포함할 수 있는 문자열을 입력으로 사용합니다. 처음 두 메서드는 "true" 또는 "false"를 각각 1과 0으로 변환합니다. "true" 또는 "false"를 "1" 또는 "0"으로 바꾸면 동일한 방식으로 작동합니다. 그러나 세 번째 예에서 '1' 또는 '0'을 'true' 또는 'false'로 변경하면 stoi 함수가 영숫자를 포함하지 않는 문자열을 정수 값으로 변환할 수 없으므로 작동하지 않습니다. 부울 값. 따라서 사용 사례에 따라 가장 적합한 사용 방법을 결정해야 합니다.
특정 프로젝트에서 일부 타사 라이브러리나 API를 사용하는 경우 문자열을 부울로 변환해야 합니다. 일부 API 또는 라이브러리는 문자열 형식으로 출력하므로 결과를 호환 가능하게 만들려면 문자열 값을 부울 값으로 변환해야 합니다.
위 내용은 문자열 유형 변수를 부울 유형으로 변환하는 C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!