C++에서 문자열을 비교하는 방법

How Compare String C



문자열 비교는 모든 프로그래밍 언어에서 매우 일반적인 작업입니다. 로그인 정보의 사용자 이름과 비밀번호를 확인하는 등 데이터의 유효성을 검사하는 데 주로 사용됩니다. 문자열 비교는 비교 연산자를 사용하거나 내장 함수를 사용하여 수행할 수 있습니다. C++에서 사용되는 두 가지 문자열 비교 함수는 다음과 같습니다. strcmp() 그리고 비교하다() . NS strcmp() 두 문자열을 비교하는 C의 라이브러리 함수입니다. 더 c 비교하다 () 두 문자열을 비교하는 C++의 내장 함수입니다. 이 튜토리얼에서는 비교 연산자와 함수를 사용하여 문자열을 비교하는 방법을 설명했습니다.

전제 조건:

이 튜토리얼의 예제를 확인하기 전에 시스템에 g++ 컴파일러가 설치되어 있는지 확인해야 합니다. Visual Studio Code를 사용하는 경우 필요한 확장을 설치하여 C++ 소스 코드를 컴파일하여 실행 코드를 만듭니다. 여기에서 Visual Studio Code 응용 프로그램은 C++ 코드를 컴파일하고 실행하는 데 사용되었습니다.







비교 연산자를 사용하여 문자열 비교:

C++에서 문자열을 비교하는 가장 일반적인 방법은 비교 연산자를 사용하는 것입니다. 같음(==) 및 같지 않음(!=) 연산자입니다. 비교 연산자를 사용하여 두 문자열 값을 비교하는 다음 코드로 C++ 파일을 만듭니다. 코드에 따르면 URL 주소는 사용자로부터 가져와 등호(==) 연산자를 사용하여 다른 문자열과 비교됩니다. 입력 값이 'if' 조건의 문자열과 일치하면 특정 메시지가 인쇄됩니다. 그렇지 않으면 'else' 부분의 메시지가 표시됩니다.



//필요한 라이브러리 포함

#포함하다

네임스페이스 표준 사용;

인트메인() {
// 문자열 변수 선언
문자열 url_addr;
// 사용자로부터 URL 주소 가져오기
비용url_addr;
// 해당 연산자를 사용하여 입력 값을 다른 문자열과 비교
만약(url_addr== '구글 컴')
비용<<'검색엔진 웬사이트입니다.'<<;
그렇지 않으면(url_addr== 'jooble.org')
비용<<'구직사이트입니다.'<<;
그렇지 않으면(url_addr== 'linuxhint.com')
비용<<'블로그 웹사이트입니다.'<<;
또 다른
비용<<'이 사이트에 대한 정보가 추가되지 않았습니다.'<<;

반환0;
}

산출:



코드를 실행한 후 사용자가 ' 리눅스힌트닷컴 '를 입력하면 세 번째 'if' 조건이 반환됩니다. 진실, 다음 출력이 나타납니다.





비교() 함수를 사용하여 문자열 비교:

compare() 함수는 두 문자열을 비교하고 비교 결과에 따라 0 또는 1 또는 -1을 반환합니다. 반환 값의 의미는 다음과 같습니다.



  • 두 비교 문자열이 같을 때 함수는 0을 반환합니다.
  • 첫 번째 문자열이 두 번째 문자열보다 크면 이 함수는 1을 반환합니다.
  • 첫 번째 문자열이 두 번째 문자열보다 작으면 함수는 -1을 반환합니다.

통사론:

정수문자열1.비교하다(문자열2)

비교() 함수를 사용하여 두 개의 문자열 값을 두 개의 입력 값과 비교하는 다음 코드로 C++ 파일을 만듭니다. 모든 사용자의 인증은 사용자가 제출한 값과 인증된 사용자의 값을 비교하여 확인할 수 있습니다. 이 인증 프로세스는 다음 코드에서 구현되었습니다. 유효한 이메일 주소와 비밀번호는 여기에 두 개의 문자열 변수에 저장되었습니다. 다음으로, 이 값은 다음을 사용하여 사용자로부터 가져온 이메일 주소 및 비밀번호와 비교되었습니다. 비교하다 () 기능. 논리적 그리고 연산자는 사용자를 인증하기 위해 코드에서 사용되었습니다. 두 비교() 함수가 모두 True를 반환하면 성공 메시지가 인쇄됩니다. 그렇지 않으면 실패 메시지가 인쇄됩니다.

//필요한 라이브러리 포함

#포함하다

네임스페이스 표준 사용;

인트메인() {

//두 개의 문자열 변수 초기화
문자열 이메일(' [이메일 보호됨] ');
문자열 암호('리눅스힌트');
// 두 개의 문자열 변수 선언
문자열 user_email;
문자열 user_password;

//사용자로부터 이메일 주소를 가져옵니다.
비용user_email;

//사용자로부터 비밀번호를 받습니다.
비용사용자 암호;

//비밀번호가 유효한지 또는 유효하지 않은지 사용자 이름을 확인합니다.
만약 (사용자_이메일.비교하다(이메일) == 0&&사용자 암호.비교하다(비밀번호) == 0 )
비용<<'인증 성공.'<<;
또 다른
비용<<'이메일 또는 비밀번호가 잘못되었습니다.'<<;

반환0;
}

산출:

코드를 실행한 후 사용자가 ' [이메일 보호됨] ' 이메일 주소로 ' 12345 ' 비밀번호로 세 번째 'if' 조건이 반환됩니다. 거짓, 다음 출력이 나타납니다.

코드를 다시 실행한 후 사용자가 ' [이메일 보호됨] ' 이메일 주소로 ' 리눅스힌트 ' 비밀번호로 세 번째 'if' 조건이 반환됩니다. 진실, 다음 출력이 나타납니다.

strcmp() 함수를 사용하여 문자열 비교:

strcmp()는 C++에서 문자열을 비교하는 또 다른 함수입니다. 비교 문자열이 모두 같으면 true를 반환합니다. 이 함수가 취하는 입력 매개변수는 compare() 함수와 다릅니다. 비교 함수는 문자열 값을 매개변수로 사용하고 strcmp() 함수는 char 배열을 매개변수로 사용합니다. 이 함수의 구문은 다음과 같습니다.

통사론:

정수 strcmp ( 상수 *str1, 상수 *str2);

strcmp() 함수를 사용하여 두 문자열을 비교하는 다음 코드로 C++ 파일을 만듭니다. 사용자가 가져온 문자열 값을 저장하기 위해 100개 요소로 구성된 두 개의 문자 배열이 코드에 선언되었습니다. NS getline() 함수는 사용자의 입력을 char 배열 변수에 저장하는 데 사용됩니다. 다음으로, strcmp() 함수는 입력 값이 같은지 확인하는 데 사용되었습니다. 함수가 반환되는 경우 진실, 그러면 성공 메시지가 인쇄됩니다. 그렇지 않으면 실패 메시지가 인쇄됩니다.

//필요한 라이브러리 포함

#포함하다

#포함하다

네임스페이스 표준 사용;

인트메인() {
// 두 개의 문자열 변수 선언
chrData1[100],chrData2[100];

//첫 번째 문자열 데이터 가져오기
비용<<'첫 번째 문자열을 입력하세요:';
진.도착(chrData1, 100);
//두 번째 문자열 데이터 가져오기
비용<<'두 번째 문자열을 입력하세요:';
진.도착(chrData2, 100);

만약 ( strcmp (chrData1,chrData2)==0)
인쇄 ('문자열은 같음N');
또 다른
인쇄 ('문자열이 같지 않습니다N');

반환0;
}

산출:

코드 실행 후 문자열 값 ' 안녕하십니까 '가 두 입력 값 모두에 주어지며 다음과 같은 출력이 나타납니다.

결론:

C++에서 문자열을 비교하는 세 가지 방법이 이 자습서에서 세 가지 간단한 예제를 사용하여 보여졌습니다. 비교 연산자의 사용과 문자열의 동등성을 검사하기 위한 내장 함수는 모두 새로운 C++ 프로그래머를 돕기 위해 이 튜토리얼에서 설명되었습니다.