이 섹션에서는 C++ 프로그래밍 언어에서 주어진 문자열을 비교하는 다양한 방법에 대해 설명합니다. 문자열을 비교하면 첫 번째 문자열이 다른 문자열과 같은지 여부가 결정됩니다. 예: HELLO와 Hello는 서로 다른 두 문자열입니다.
C++ 프로그래밍 언어에서 문자열을 비교하는 방법에는 다음과 같이 여러 가지가 있습니다.
- strcmp() 함수 사용
- 비교() 함수 사용
- 관계 연산자 사용
- For 루프 및 If 문 사용
- 사용자 정의 함수 사용
strcmp() 함수
strcmp()는 미리 정의된 라이브러리 함수입니다. 문자열.h 헤더 파일. strcmp() 함수는 사전순으로 두 문자열을 비교합니다. 즉, strcmp() 함수는 두 문자열의 모든 문자가 동일하거나 NULL 문자를 만날 때까지 문자별로 첫 번째 문자열과 두 번째 문자열을 비교하기 시작합니다.
통사론
int strcmp ( const char *leftstr, const char *rightstr );
매개변수:
왼쪽 문자열: 왼쪽 문자열의 문자를 정의합니다.
오른쪽str: 올바른 문자열의 문자를 정의합니다.
C에서 배열 길이를 얻으십시오
보고:
leftstr 문자열은 각 문자를 왼쪽부터 두 문자열의 끝까지 두 번째 문자열과 비교합니다. 그리고 두 문자열이 모두 동일하면 strcmp() 함수는 문자열이 동일함을 반환합니다. 그렇지 않으면 문자열이 동일하지 않습니다.
C++의 strcmp() 함수를 사용하여 문자열을 비교하는 프로그램을 만들어 보겠습니다.
프로그램1.cpp
#include using namespace std; #include int main () { // declare strings const char *str1 = ' Welcome to JavaTpoint'; const char *str2 = ' Welcome to JavaTpoint'; const char *str3 = ' JavaTpoint'; const char *str4 = ' Javatpoint'; cout << ' String 1: ' << str1 << endl; cout << ' String 2: ' << str2 << endl; // use strcmp() function to validate the strings are equal if (strcmp (str1, str2) == 0) { cout << ' Both strings are equal. ' << endl; } else { cout << ' The strings are not equal. ' << endl; } cout << ' String 3: ' << str3 << endl; cout << ' String 4: ' << str4 << endl; // use strcmp() function to validate the strings are equal if (strcmp (str3, str4) == 0) { cout << ' Both strings are equal. ' << endl; } else cout << ' The strings are not equal. '; return 0; }
산출
String 1: Welcome to JavaTpoint String 2: Welcome to JavaTpoint Both strings are equal. String 3: JavaTpoint String 4: Javatpoint The strings are not equal.
비교() 함수
Compare() 함수는 C++ 언어의 미리 정의된 라이브러리 함수입니다. Compare() 함수는 주어진 두 문자열을 비교하고 일치하는 경우에 따라 다음 결과를 반환합니다.
- 두 문자열이 모두 동일하면 함수는 0을 반환합니다.
- 첫 번째 문자열의 문자 값이 두 번째 문자열보다 작으면 함수는 다음을 반환합니다.<0.< li>
- 두 번째 문자열이 첫 번째 문자열보다 크면 함수는 0보다 크거나 >0을 반환합니다. 0.<>
통사론
배우 사이 팔라비
int compare (const string &str) const;
C++의 Compare() 함수를 사용하여 두 문자열을 비교하는 간단한 프로그램을 만들어 보겠습니다.
프로그램2.cpp
#include using namespace std; int main () { string str1, str2; // declare string variable cout <> str1; cout <> str2; // use compare() function to compare the second string with first string int i = str1.compare(str2); if ( i <0) { cout << str1 ' is smaller than str2 string' <<endl; } else if ( i> 0) { cout << str2 << ' is greater than ' << str1 << ' string.' << endl; } else // i == 0; { cout << ' Both strings are equal.'; } return 0; } </0)>
산출
1st Run: Enter the string 1: Program Enter the string 2: program Program is smaller than program string 2nd Run: Enter the string 1: APPLE Enter the string 2: APPLE Both strings are equal.
관계 연산자
C++에서 두 개의 문자열이나 숫자 값을 비교하는 데 사용되는 연산자입니다. C++에는 '==', '!=', >, 프로그램3.cpp 산출 2nd실행: C++에서 같지 않음(!=) 연산자를 사용하여 문자열이 같은지 여부를 비교하는 프로그램을 만들어 보겠습니다. 프로그램4.cpp 산출 2nd달리다: 프로그램5.cpp C++의 사용자 정의 함수를 사용하여 첫 번째 문자열을 다른 문자열과 비교하는 간단한 프로그램을 만들어 보겠습니다. 프로그램6.cpp 산출 #include using namespace std; int main () { // declare string variables string str1; string str2; cout << ' Enter the String 1: ' <> str1; cout << ' Enter the String 2: ' <> str2; // use '==' equal to operator to check the equality of the string if ( str1 == str2) { cout << ' String is equal.' << endl; } else { cout << ' String is not equal.' << endl; } return 0; }
Enter the String 1: JavaTpoint Enter the String 2: javatpoint String is not equal.
Enter the String 1: Program Enter the String 2: Program String is equal.
같지 않음(!=) 관계 연산자를 사용하여 두 문자열을 비교합니다.
자바스크립트 문자열 다듬기
#include using namespace std; int main () { // declare string variables string str1; string str2; cout << ' Enter the String 1: ' <> str1; cout << ' Enter the String 2: ' <> str2; // use '!=' not equal to operator to check the equality of the string if ( str1 != str2) { cout << ' String is not equal.' << endl; } else { cout << ' String is equal.' << endl; } return 0; }
Enter the String 1: JAVATpoint Enter the String 2: JavaTPOINT String is not equal.
Enter the String 1: HELLO Enter the String 2: HELLO String is equal.
C++에서 for 루프와 if 문을 사용하여 두 문자열 비교
#include using namespace std; int main () { char s1[50], s2[50]; // declare character array int i, disp; cout << ' Enter the String 1: ' <> s1; cout << ' Enter the String 2: ' <> s2; for (i = 0; s1[i] == s2[i] && s1[i] == ' '; i++); if (s1[i] <s2[i]) 1 2 { cout < s2[i]) << ' string is less than 1'; } else equal to 2'; return 0; pre> <p> <strong>Output</strong> </p> <pre> Enter the String 1: WELCOME Enter the String 2: WELCOME String 1 is equal to String 2 </pre> <h3>Compare two strings using the User-defined function in C++</h3> <p>Let's create a simple program to compare the first string with another string using the user-defined function in C++.</p> <p> <strong>Program6.cpp</strong> </p> <pre> #include using namespace std; void RelationalCompare ( string str1, string str2) { // use relational not equal operator if ( str1 != str2) { cout << str1 << ' is not equal to ' << str2 << ' string. ' < str2) { cout << str1 << ' is greater than ' << str2 << ' string.' << endl; } else { cout << str2 << ' is greater than ' << str1 << ' string.' << endl; } } else cout << str1 << ' is equal to ' << str2 << ' string.' << endl; } int main () { string str1 ( 'JavaT'); string str2 ( 'Tpoint'); // call function RelationalCompare (str1, str2); string str3 ('JavaTpoint'); string str4 ('JavaTpoint'); RelationalCompare (str3, str4); return 0; } </pre> <p> <strong>Output</strong> </p> <pre> JavaT is not equal to Tpoint string. Tpoint is greater than JavaT string. JavaTpoint is equal to JavaTpoint string. </pre> <hr></s2[i])>
C++에서 사용자 정의 함수를 사용하여 두 문자열 비교
#include using namespace std; void RelationalCompare ( string str1, string str2) { // use relational not equal operator if ( str1 != str2) { cout << str1 << ' is not equal to ' << str2 << ' string. ' < str2) { cout << str1 << ' is greater than ' << str2 << ' string.' << endl; } else { cout << str2 << ' is greater than ' << str1 << ' string.' << endl; } } else cout << str1 << ' is equal to ' << str2 << ' string.' << endl; } int main () { string str1 ( 'JavaT'); string str2 ( 'Tpoint'); // call function RelationalCompare (str1, str2); string str3 ('JavaTpoint'); string str4 ('JavaTpoint'); RelationalCompare (str3, str4); return 0; }
JavaT is not equal to Tpoint string. Tpoint is greater than JavaT string. JavaTpoint is equal to JavaTpoint string.