이번에 공유 드릴 사항은 C언어 C++ strcmp strncmp 함수 사용법 대한 내용입니다. 문자열 비교는 프로그래밍에서 매우 중요한 작업 중 하나입니다.
C 및 C++와 같은 프로그래밍 언어에서는 strcmp() 및 strncmp() 함수를 사용하여 문자열을 비교할 수 있습니다. 그리고 strcmp() 및 strncmp() 함수들의 결과 값은 문자열을 비교하고 관계를 나타내는 값을 반환하게 됩니다.
strcmp 함수 사용법
: 먼저 strcmp 함수에 대해서 설명 드리도록 하겠습니다. strcmp() 함수는 두 문자열을 사전순으로 비교하는데 활용이 되는 함수입니다.
이 함수는 두 개의 문자열 값을 비교하고 문자열 간의 관계를 나타내는 정수 값을 반환하는데 두 개의 문자열 값을 인수로 받고, 반환 값이 0인 경우 문자열이 같음을 나타냅니다. 즉 결괏값이 “0” 일 경우에는 문자열이 같다는 의미입니다.
만약 “0” 이 아니고 반환 값이 음수인 경우 첫 번째 문자열이 두 번째 문자열보다 사전순으로 작다는 것을 의미합니다. 그리고 반대로 반환 값이 양수인 경우 첫 번째 문자열이 두 번째 문자열보다 사전순으로 크다는 것을 의미합니다.
strcmp 함수 기본적인 구조는 비교하는 문자열로 구성이 되어 있으면 비교하는 구문이기 때문에 두 개 요소를 입력을 해주셔야 코드가 돌아가는 것을 확인하실 수 있습니다.
– strcmp 함수 기본적인 구조
int strcmp(const char *str1, const char *str2)
– strcmp 함수 결과 값에 따른 해석
- 0: 문자열이 같음을 의미합니다.
- 음수: str1이 사전순으로 str2보다 작음을 의미합니다.
- 양수 값: ‘str1’이 사전순으로 ‘str2’보다 큼을 의미합니다.
– strcmp 함수 활용 예시
#include <stdio.h> #include <string.h> int main() { char str1[] = "student"; char str2[] = "student"; char str3[] = "school"; int result1 = strcmp(str1, str2); int result2 = strcmp(str1, str3); printf("Result 1: %d\\\\n", result1); // Output: 0 printf("Result 2: %d\\\\n", result2); // Output: negative value return 0; }
함께 보면 도움이 되는 글
▶ Python 파이썬 sort 함수 활용 방법
▶ Python 파이썬 format 함수 활용 방법
▶ Python 파이썬 while 문 활용 방법
▶ Python 파이썬 For 문 활용 방법
▶ 파이썬 split 함수 이용 방법 및 활용 예제
▶ 파이썬 파일 처리 open 함수 사용법
▶ Python 파이썬 OpenCV 설치 방법
▶ 파이참 PyCharm 다운로드 설치 방법
strncmp 함수 사용법
: 다음은 strncmp 대해서 설명 드리도록 하겠습니다. strncmp() 함수는 strcmp()와 유사한 함수입니다. 하지만 차이점으로는 문자열의 처음 n 문자만 비교하는 함수라고 이해하시면 됩니다.
즉 해당 함수는 비교할 최대 문자 수를 지정할 수 있는데 두 개의 문자열 값을 인수로 받고, 반환 값이 0인 경우 문자열의 처음 n 문자가 같음을 나타냅니다.
결과 값을 가지고 설명을 드리면 strncmp 함수의 반환 값이 음수인 경우 첫 번째 문자열에서 첫 번째 다른 문자가 두 번째 문자열에서 해당 문자보다 사전순으로 작다는 것을 의미합니다.
반대의 경우, 반환 값이 양수인 경우 첫 번째 문자열에서 첫 번째 다른 문자가 두 번째 문자열에서 해당 문자보다 사전순으로 크다는 것을 의미합니다.
– strncmp 함수 기본적인 구조
int strncmp(const char *str1, const char *str2, size_t n)
– strncmp 함수 결과 값에 따른 해석
- 0: 문자열의 처음 n 문자가 같음을 의미합니다.
- 음수: str1의 첫 번째 다른 문자가 str2의 해당 문자보다 작음을 의미합니다.
- 양수 값: str1의 첫 번째 다른 문자가 str2의 해당 문자보다 큼을 의미합니다.
– strncmp 함수 활용 예시
#include <stdio.h> #include <string.h> int main() { char str1[] = "student"; char str2[] = "students"; char str3[] = "school"; int result1 = strncmp(str1, str2, 4); int result2 = strncmp(str1, str3, 4); printf("Result 1: %d\\\\n", result1); // Output: 0 printf("Result 2: %d\\\\n", result2); // Output: negative value return 0; }
함께 보면 도움이 되는 글
▶ Python 파이썬 sort 함수 활용 방법
▶ Python 파이썬 format 함수 활용 방법
▶ Python 파이썬 while 문 활용 방법
▶ Python 파이썬 For 문 활용 방법
▶ 파이썬 split 함수 이용 방법 및 활용 예제
▶ 파이썬 파일 처리 open 함수 사용법
▶ Python 파이썬 OpenCV 설치 방법
▶ 파이참 PyCharm 다운로드 설치 방법
이렇게 strcmp() 및 strncmp() 함수를 이용하게 되면 프로그램 내에서 정렬, 검색 또는 조건부 분기와 같은 작업에서 문자열을 비교하는 데 매우 유용하게 사용이 되니 참조하시면 도움이 되실 겁니다.
여기까지 작성하도록 하겠습니다. 지금까지 C언어 C++ strcmp strncmp 함수 사용법 대해서 공유를 드렸습니다. 프로그래밍을 공부하면 공부할 수도록 공부해야 될 게 많이 지는 거 같습니다. 도움이 되셨으면 좋겠습니다. 감사합니다.