strncmp bằng ngôn ngữ C – GraphGuide.org

Hàm strncmp C là một hàm chuỗi, được sử dụng để so sánh hai chuỗi. Hoặc, nó kiểm tra xem hai chuỗi đó có bằng nhau hay không. Hàm strncmp sử dụng đối số thứ ba để giới hạn so sánh. Nó có nghĩa là, thay vì so sánh toàn bộ chuỗi, bạn có thể so sánh bốn ký tự đầu tiên hoặc năm ký tự, v.v. Phương thức strncmp trong Lập trình C trả về bất kỳ giá trị nào trong ba giá trị sau:

  • Nó sẽ trả về -1 nếu str1 nhỏ hơn str2
  • trả về +1 nếu str1 lớn hơn str2
  • Hàm sẽ trả về 0 nếu str1 và str2 bằng nhau

Cú pháp C strncmp

Cú pháp cơ bản của strncmp trong ngôn ngữ lập trình C như hình dưới đây.

char *strncmp(char *str1, char *str2, size_t n);

hoặc chúng ta có thể đơn giản viết strncmp này như hình dưới đây:

strncmp(str1, str2, string_length);
  • n: Số ký tự tối đa mà bạn muốn so sánh.

strncmp trong ngôn ngữ C Ví dụ

Hàm strncmp được sử dụng để so sánh chuỗi do người dùng chỉ định với chuỗi hiện có cho n số ký tự. Chương trình này sẽ giúp bạn hiểu strncmp với nhiều ví dụ.

MẸO: Bạn phải bao gồm tiêu đề #include trước khi sử dụng Hàm chuỗi strncmp này.

/* C strncmp Function example  */

#include <stdio.h> 
#include<string.h>
 
int main()
{
   char str1[50] = "abcdef";
   char str2[50] = "abcd";
   char str3[] =  "ghi";
   int i, j, k;
	
   i = strncmp(str1, str2, 4);		
   printf("n The Comparison of str1 and str2 Strings = %d", i);
 	
   j = strncmp(str1, str2, 6);		
   printf("n The Comparison of str1 and str2 Strings = %d", j);
   
   k = strncmp(str1, str3, 3);		
   printf("n The Comparison of str1 and str3 = %d", k);
}
 The Comparison of str1 and str2 Strings = 0
 The Comparison of str1 and str2 Strings = 1
 The Comparison of str1 and str3 = -1

Nó so sánh bốn ký tự đầu tiên vì đối số thứ ba là 4.

i = strncmp(str1, str2, 4); // abcd = abcd

Câu lệnh Lập trình C này sẽ so sánh sáu ký tự đầu tiên vì đối số thứ ba là 6.

j = strncmp(str1, str2, 6); // abcdef = abcd

strncmp trong C Ví dụ 2

Kết quả là thay vì in 0, 1 và -1, chương trình strncmp này sẽ in một thông báo có ý nghĩa bằng cách sử dụng Câu lệnh Else If

/* C strncmp Function example  */

#include <stdio.h> 
#include<string.h>
 
int main()
{
   	char str1[50] = "abcdefgh";
   	char str2[50] = "ABC";
   	int result;
	
   	result = strncmp(str1, str2, 3);
   
   	if(result < 0)
   	{
   		printf("n str1 is Less than str2");
	}
	else if(result > 0)
   	{
   		printf("n str2 is Less than str1");
	}
	else
   	{
   		printf("n str1 is Equal to str2");
	}
	return 0;
}
 str2 is Less than str1

strncmp Ví dụ 3

Chương trình C này cho phép người dùng nhập hai chuỗi. Tiếp theo, sẽ so sánh hai chuỗi đó bằng cách sử dụng hàm strncmp trong lập trình C.

/* string strncmp in C programming Example */
 
#include <stdio.h> 
#include<string.h>
 
int main()
{
	char str1[100], str2[100];
	int result;
 
	printf("n Please Enter First String  : ");
	gets(str1);	
	
	printf("n Please Enter the String that you want to Compare : ");
	gets(str2);	
	
	result = strncmp(str1, str2, 4);
	
 	if(result < 0)
   	{
   		printf("n First String is Less than Second String");
	}
	else if(result > 0)
   	{
   		printf("n Second String is Less than First String");
	}
	else
   	{
   		printf("n First String is Equal to Second String");
	}
	
}

Hãy để tôi thay đổi giá trị Kích thước từ 4 thành 12 và xem kết quả

 Please Enter First String  : Good Morning

 Please Enter the String that you want to Compare : Good Afternoon

 Second String is Less than First String