C++에서 문자열이 비어 있는지 확인

Jinku Hu 2023년10월12일
  1. 내장 메서드empty()를 사용하여 C++에서 문자열이 비어 있는지 확인
  2. size와 함께 사용자 정의 함수를 사용하여 C++에서 문자열이 비어 있는지 확인
  3. strlen()함수를 사용하여 C++에서 문자열이 비어 있는지 확인
C++에서 문자열이 비어 있는지 확인

이 기사에서는 C++에서 빈 문자열을 확인하는 방법에 대한 여러 방법을 소개합니다.

내장 메서드empty()를 사용하여 C++에서 문자열이 비어 있는지 확인

std::string 클래스에는 주어진 문자열이 비어 있는지 여부를 확인하는 내장 메소드empty()가 있습니다. 이 메소드는 bool유형이며 개체에 문자가 포함되지 않은 경우 true를 반환합니다. empty()메소드는 인수를 취하지 않으며 일정한 시간 복잡도 함수를 구현합니다.

string이 빈 문자열 리터럴""로 초기화 되더라도 함수는 여전히true 값을 반환합니다. 따라서empty()함수는 문자열의 크기를 확인하고 기본적으로string.size() == 0 표현식의 평가를 반환합니다.

#include <cstring>
#include <iostream>
#include <string>

using std::cin;
using std::cout;
using std::endl;
using std::string;

int main() {
  string string1("This is a non-empty string");
  string string2;

  string1.empty() ? cout << "[ERROR] string is empty!" << endl
                  : cout << "string value: " << string1 << endl;

  string2.empty() ? cout << "[ERROR] string is empty!" << endl
                  : cout << "string value: " << string1 << endl;

  return EXIT_SUCCESS;
}

출력:

string value: This is a non-empty string
[ERROR] string is empty!

size와 함께 사용자 정의 함수를 사용하여 C++에서 문자열이 비어 있는지 확인

이전 메소드는 단일 문자열인수를 취하고 비어 있는지 확인하는 사용자 정의 함수로 구현할 수 있습니다. 이 함수는empty 메소드의 동작을 미러링하고bool 값을 반환합니다. 다음 예제는 사용자 정의 함수checkEmptyString이있는 동일한 코드 예제를 보여줍니다. 함수에는 비교 표현식의 반환 유형이 부울이므로 하나의 문만 포함되어 있으며이를 return키워드에 직접 전달할 수 있습니다.

#include <cstring>
#include <iostream>
#include <string>

using std::cin;
using std::cout;
using std::endl;
using std::string;

bool checkEmptyString(const string &s) { return s.size() == 0; }

int main() {
  string string1("This is a non-empty string");
  string string2;

  checkEmptyString(string1) ? cout << "[ERROR] string is empty!" << endl
                            : cout << "string value: " << string1 << endl;

  checkEmptyString(string2) ? cout << "[ERROR] string is empty!" << endl
                            : cout << "string value: " << string1 << endl;

  return EXIT_SUCCESS;
}

출력:

string value: This is a non-empty string
[ERROR] string is empty!

strlen()함수를 사용하여 C++에서 문자열이 비어 있는지 확인

strlen()함수는 C 문자열 라이브러리의 일부이며 문자열의 크기를 바이트 단위로 검색하는 데 사용할 수 있습니다. 이 메서드는 코드베이스에 나타날 수있는stringchar *유형 문자열 모두에 대해 더 유연 할 수 있습니다. strlenconst char *인수를 취하고 종료\0 문자를 제외한 길이를 계산합니다.

프로그램의 구조는 별도의 부울 함수를 정의하고 const char *로 사용하는 유일한 매개 변수를 선언하기 때문에 이전 메소드와 유사합니다.

#include <cstring>
#include <iostream>
#include <string>

using std::cin;
using std::cout;
using std::endl;
using std::string;

bool checkEmptyString(const char *s) { return strlen(s) == 0; }

int main() {
  string string1("This is a non-empty string");
  string string2;

  checkEmptyString(string1.data())
      ? cout << "[ERROR] string is empty!" << endl
      : cout << "string value: " << string1 << endl;

  checkEmptyString(string2.data())
      ? cout << "[ERROR] string is empty!" << endl
      : cout << "string value: " << string1 << endl;

  return EXIT_SUCCESS;
}

출력:

string value: This is a non-empty string
[ERROR] string is empty!
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

관련 문장 - C++ String