보지마세요

문자열 비교하기 (C++)

채원 :0 2022. 7. 24. 22:03

C++에서 문자열은 '\0'로 끝나는 char 배열 혹은 string 클래스로 표현할 수 있다.

string 클래스 문자열은 == 연산자, compare 함수를 이용해서 비교 가능하고

char 배열 문자열은 strcmp 함수를 이용해서 비교 가능하다.

 

 

string 클래스 문자열 비교

#include <string>
string str1 = "apple";
string str2 = "banana";
string str3 = "apple";

// == 연산자
if(str1 == str2) cout << "same" << endl;
else cout << "different "; // different

if(str1 == str3)  cout << "same" << endl;
else cout << "different "; // same

// compare 함수
int result = str1.compare(str2); // str1 < str2
cout << result << endl; // -1

result = str1.compare(str3); // str1 == str3
cout << result << endl; // 0

result = str2.compare(str1); // str1 < str2
cout << result << endl; // 1

 

char 배열 문자열 비교

#include <string.h>
char str1[20] = "apple";
char str2[20] = "banana";
char str3[20] = "apple";

// strcmp 함수
int result = strcmp(str1,str2); //str1 < str2
cout << result << endl; //-1

result = strcmp(str1,str3); //str1 == str2
cout << result << endl; //0

result = strcmp(str2,str1); //str1 < str2
cout << result << endl; //1