C 프로그래밍 언어에서 두 문자열을 비교하는 방법

작가: William Ramirez
창조 날짜: 18 구월 2021
업데이트 날짜: 1 칠월 2024
Anonim
[혼자 공부하는 C언어] 16 문자열을 비교하는 strcmp 함수
동영상: [혼자 공부하는 C언어] 16 문자열을 비교하는 strcmp 함수

콘텐츠

C 코드에서는 어떤 문자열에 더 많은 문자가 포함되어 있는지 찾기 위해 문자열 길이를 비교하는 것이 매우 일반적입니다. 데이터 정렬에 유용합니다. 문자열을 비교하려면 특수 함수가 필요합니다. 사용하지 마십시오. != 또는 ==.

단계

  1. 1 C 프로그래밍 언어에는 문자열 길이를 비교하는 데 사용할 수 있는 두 가지 함수가 포함되어 있습니다. 이 두 기능 모두 라이브러리에 포함되어 있습니다. 문자열.h>.
    • strcmp () - 이 함수는 두 문자열을 비교하여 문자 수의 차이를 반환합니다.
    • strncmp() - 이 기능은 다음과 같습니다. strcmp () 첫 번째를 제외하고 NS 문자. 오버플로 실패를 방지하기 때문에 더 안전한 것으로 간주됩니다.
  2. 2 필요한 라이브러리로 프로그램을 시작하십시오. 라이브러리가 필요합니다 stdio.h> 그리고 문자열.h>특정 프로그램에 필요한 기타 라이브러리도 포함됩니다.

    #include stdio.h> #include string.h>

  3. 3 기능 입력 정수. 두 문자열의 길이를 비교한 결과로 정수를 반환합니다.

    #include stdio.h> #include string.h> int main() {}

  4. 4 비교할 두 문자열을 식별합니다. 이 예에서 두 개의 문자열 유형을 비교해 보겠습니다. ... 또한 반환 값을 정수로 정의합니다.

    #include stdio.h> #include string.h> int main () {char * str1 = "사과"; char * str2 = "주황색"; 정수; }

  5. 5 비교 함수를 입력합니다. 이 예에서는 함수를 사용합니다. strncmp()... 거기에서 측정 된 문자 수를 설정해야합니다.

    #include stdio.h> #include string.h> int main () {char * str1 = "사과"; char * str2 = "주황색"; 정수; ret = strncmp(str1, str2, 8); / * 최대 8자 길이의 두 문자열을 비교합니다. * /}

  6. 6 조건문 입력 만약에... 또 다른. 어떤 줄이 더 긴지 표시해야 합니다. 함수 strncmp() 번호를 반환합니다 0문자열의 길이가 같으면 str1이 더 길면 양수, str2가 더 길면 음수입니다.

    #include stdio.h> #include string.h> int main () {char * str1 = "사과"; char * str2 = "주황색"; 정수; ret = strncmp(str1, str2, 8); if (ret> 0) {printf("str1이 더 깁니다"); } else if (ret 0) {printf("str2가 더 깁니다"); } else {printf("줄 길이가 같습니다."); } 리턴(0); }

경고

  • 문자열의 길이가 같으면 값 0이 반환되며 0도 FALSE이기 때문에 혼동될 수 있습니다.