C++ 문자열이 비어 있는지 감지하는 방법

C Munjayeol I Bieo Issneunji Gamjihaneun Bangbeob



C++ 프로그래밍에서 텍스트 데이터를 관리하고 조작하는 것은 소프트웨어 개발의 기본 측면입니다. 문자의 시퀀스 역할을 하는 문자열은 텍스트 데이터를 관리하는 데 중추적인 역할을 합니다. 프로그래머가 자주 직면하는 일반적인 시나리오 중 하나는 C++ 문자열이 비어 있는지 확인해야 하는 경우입니다. 문자가 없는 문자열을 빈 문자열이라고 합니다. 다행스럽게도 C++는 표준 라이브러리 내에서 문자열이 비어 있는지 확인하는 간단한 방법을 제공합니다. 이 문서에서는 C++ 문자열이 비어 있는지 여부를 감지하는 데 사용되는 방법과 기술을 살펴보고 프로그램에서 문자열 데이터를 처리하고 유효성을 검사하기 위한 기초를 제공합니다.

방법 1: Empty() 멤버 함수 사용

문자열이 비어 있는지 확인하기 위한 C++의 간단하고 내장된 접근 방식 중 하나는 'empty()' 멤버 함수를 활용하는 것입니다. 'empty()' 함수는 표준 C++ 문자열 클래스의 일부이며 문자열에 문자가 없는지 확인하는 편리한 방법을 제공합니다.

다음은 empty() 함수의 사용법을 보여주는 간단한 예입니다.







#include
#include <문자열>
사용하여 네임스페이스 성병 ;

정수 기본 ( ) {

문자열 비어 있는Str ;

만약에 ( 빈Str. 비어 있는 ( ) ) {
시합 << '문자열이 비어 있습니다.' << ;
} 또 다른 {
시합 << '문자열이 비어 있지 않습니다.' << ;
}

반품 0 ;
}

이 C++ 코드 조각에서는 입력 및 출력 작업을 용이하게 하고 문자열 작업을 각각 수행하기 위해 과 같은 필수 헤더 파일을 포함하는 것으로 시작합니다. “main()” 함수 내에서 “emptyStr”이라는 문자열 변수를 선언합니다. 이 문자열은 처음에는 문자 없이 비어 있습니다. 그런 다음 C++ 'string' 클래스에서 제공하는 'empty()' 멤버 함수를 사용합니다. 이름에서 알 수 있듯이 'empty()' 함수는 호출된 문자열이 비어 있는지 여부를 확인합니다.



우리의 경우 'emptyStr' 문자열에서 이 함수를 호출합니다. 그런 다음 조건문을 사용하여 'empty()' 함수가 반환하는 부울 결과를 평가합니다. 문자열이 실제로 비어 있으면 프로그램은 문자열이 비어 있음을 나타내는 메시지를 출력합니다. 반면에 문자열에 문자가 포함되어 있으면 프로그램은 문자열이 비어 있지 않다는 메시지를 출력합니다.



제공된 C++ 코드의 출력은 다음과 같습니다.





방법 2: Size() 멤버 함수 사용

C++ 문자열이 비어 있는지 여부를 감지하는 또 다른 방법은 'string' 클래스에서 제공하는 'size()' 멤버 함수를 활용하는 것입니다. 비어 있음을 나타내는 Boolean을 직접 반환하는 “empty()” 함수와 달리 “size()”는 문자열에 존재하는 문자 수를 반환합니다. 비어 있는지 확인하기 위해 빈 문자열의 크기가 0이므로 'size()'의 결과를 0과 비교합니다.



예는 다음과 같습니다.

#include
#include <문자열>
사용하여 네임스페이스 성병 ;

정수 기본 ( ) {

문자열 myEmptyString ;

만약에 ( myEmptyString. 크기 ( ) == 0 ) {
시합 << '제공된 문자열이 비어 있습니다.' << ;
} 또 다른 {
시합 << '제공된 문자열이 비어 있지 않습니다.' << ;
}

반품 0 ;
}

이 예에서는 초기화하지 않고 'myEmptyString'이라는 문자열 변수를 선언하여 시작하며 기본적으로 비어 있는 상태로 둡니다. 앞으로는 'myEmptyString' 문자열의 문자 수나 크기를 결정하기 위해 'size()' 함수를 호출합니다. 'if' 문은 문자열이 비어 있음을 나타내는 크기가 0인지 여부를 평가합니다. 이 조건이 충족되면 제공된 문자열이 비어 있다는 메시지를 콘솔에 출력합니다. 반대로, 크기가 0이 아닌 경우 제어 흐름은 'else' 블록으로 전환되고 제공된 문자열이 비어 있지 않음을 확인하는 다른 메시지가 표시됩니다.

방법 3: 빈 문자열 리터럴과 비교 사용

C++ 문자열이 비어 있는지 확인하는 추가 기술에는 빈 문자열 리터럴과의 직접 비교가 포함됩니다. 빈 문자열 리터럴은 ''처럼 사이에 문자가 없는 큰따옴표 쌍으로 표시됩니다. 주어진 문자열을 이 빈 문자열 리터럴과 비교하여 문자열에 문자가 포함되어 있는지 확인할 수 있습니다.

다음은 이 접근 방식을 보여주는 예입니다.

#include
#include <문자열>
사용하여 네임스페이스 성병 ;

정수 기본 ( )
{
문자열 사용자 이름 ;

시합 <> 사용자 이름 ;

만약에 ( 사용자 이름 == '' )
{
시합 << '오류: 사용자 이름은 비워둘 수 없습니다.' << ;
}
또 다른
{
시합 << '안녕하세요, ' << 사용자 이름 << '! 우리 플랫폼에 오신 것을 환영합니다.' << ;
}

반품 0 ;
}

이 경우 사용자에게 사용자 이름을 제공하도록 요청하는 애플리케이션을 시작합니다. 프로그램은 사용자의 입력을 저장하기 위해 'username'이라는 문자열 변수를 선언하는 것으로 시작됩니다. 그 후 사용자에게 '사용자 이름을 입력하세요:' 메시지가 표시되고 해당 입력은 'cin' 스트림을 사용하여 캡처됩니다. 그런 다음 프로그램은 입력된 사용자 이름이 비어 있는지 확인하기 위해 조건문을 사용합니다. 이는 같음 연산자(==)를 사용하여 빈 문자열 리터럴과 직접 비교함으로써 달성됩니다. 사용자 이름이 비어 있는 것으로 확인되면 프로그램은 '오류: 사용자 이름은 비워둘 수 없습니다'라는 오류 메시지를 출력합니다. 그러나 사용자 이름이 비어 있지 않은 경우 프로그램은 '안녕하세요, [사용자 이름]! 플랫폼에 오신 것을 환영합니다' 인사말과 함께 입력한 사용자 이름을 포함하는 개인화된 환영 메시지를 표시합니다.

사용자 이름을 제공하지 않은 출력은 다음과 같습니다.

사용자 이름이 제공되면 출력은 다음과 같습니다.

방법 4: 삼항 연산자 사용

삼항 연산자는 조건문을 한 줄로 간결하게 표현하여 코드를 더욱 간결하게 만듭니다. 삼항 연산자는 문자열이 비어 있는지 확인하기 위해 조건을 평가한 후 두 값 중 하나를 반환합니다. 이 경우 'empty()' 멤버 함수를 사용하여 비어 있음을 확인하고 삼항 연산자를 사용하여 해당 메시지를 할당할 수 있습니다.

예시는 다음과 같습니다.

#include
#include <문자열>
사용하여 네임스페이스 성병 ;

정수 기본 ( ) {
문자열 샘플 문자열 = '안녕하세요, 월드!' ;

시합 << '문자열은 ' << ( 샘플스트링. 비어 있는 ( ) ? '비어 있는.' : '비어있지 않아.' ) << ;

반품 0 ;
}

그런 다음 'sampleString'이라는 문자열 변수를 선언하고 'Hello, World!'로 초기화합니다. 콘텐츠. 문자열이 비어 있는지 확인하기 위해 'cout' 문 내에서 삼항 연산자를 사용합니다. 삼항 연산자는 'sampleString.empty()' 조건을 평가하여 문자열이 비어 있는지 확인하고 조건이 true이면 해당 '문자열이 비어 있습니다' 메시지를 인쇄하고 조건이 true이면 '문자열이 비어 있지 않습니다'를 인쇄합니다. 거짓. 프로그램은 성공적인 실행을 나타내는 0을 반환하여 종료됩니다. 이 프로그램을 실행하면 다음과 같은 출력이 생성됩니다.

결론

C++ 문자열이 비어 있는지 여부를 감지하는 것은 문자열 조작 및 처리의 기본입니다. 이 기사에서는 각각의 장점이 있는 여러 가지 방법을 살펴보았습니다. 'empty()' 멤버 함수는 문자열의 비어 있음을 명확하게 나타내는 가장 직접적이고 일반적으로 사용되는 함수입니다. 'size()'를 사용하면 문자열 길이를 확인하는 대체 접근 방식이 제공됩니다. 빈 문자열 리터럴과의 비교는 간단하고 직관적인 반면, 삼항 연산자는 검사를 보다 복잡한 논리에 통합하는 유연성을 제공합니다. 올바른 접근 방식을 선택하는 동안 프로그램의 특정 요구 사항을 고려해야 합니다.