strncmp()
ฟังก์ชัน strncmp() ใช้เพื่อเปรียบเทียบสตริงซ้ายกับสตริงขวาจนถึงตัวเลข มันทำงานเหมือนกับ strcmp() ส่งคืนค่าที่มากกว่าศูนย์เมื่ออักขระที่ตรงกันของสตริงด้านซ้ายมีค่า ASCII มากกว่าอักขระของสตริงด้านขวา ส่งคืนค่าที่น้อยกว่าศูนย์เมื่ออักขระที่ตรงกันของสตริงด้านซ้ายมีค่า ASCII น้อยกว่าอักขระของสตริงด้านขวา
นี่คือไวยากรณ์ของ strncmp() ในภาษา C
int strncmp ( const char *leftString, const char *rightString, size_t number );
ที่นี่
-
leftString − สตริงแรกที่จะเปรียบเทียบกับสตริงที่ถูกต้อง
-
rightString − สตริงที่สองที่ใช้เปรียบเทียบสตริงแรก
-
หมายเลข − จำนวนอักขระสูงสุดที่จะเปรียบเทียบ
นี่คือตัวอย่าง strncmp() ในภาษา C
ตัวอย่าง
#include<stdio.h> #include<string.h> int main() { char str1[] = "blank"; char str2[] = "Hello World!"; int result = strncmp(str1, str2, 1); if (result==0) printf("Strings are equal"); else printf("Strings are unequal"); printf("\nValue returned by strcmp() is: %d" , result); return 0; }
ผลลัพธ์
นี่คือผลลัพธ์
Strings are unequal Value returned by strcmp() is: 26
strcmp()
ฟังก์ชัน strcmp() เป็นฟังก์ชันไลบรารีในตัวและประกาศในไฟล์ส่วนหัว "string.h" ฟังก์ชันนี้ใช้เพื่อเปรียบเทียบอาร์กิวเมนต์สตริง มันเปรียบเทียบสตริง lexicographically ซึ่งหมายความว่าจะเปรียบเทียบทั้งสตริงอักขระด้วยอักขระ จะเริ่มเปรียบเทียบอักขระตัวแรกของสตริงจนกว่าอักขระของสตริงทั้งสองจะเท่ากันหรือพบอักขระ NULL
ถ้าอักขระตัวแรกของทั้งสองสตริงเท่ากัน จะตรวจสอบอักขระตัวที่สองเป็นต้น กระบวนการนี้จะดำเนินต่อไปจนกว่าจะพบอักขระ NULL หรืออักขระทั้งสองไม่เท่ากัน คืนค่าศูนย์หากสตริงทั้งสองเหมือนกัน นั่นคือ อักขระเหมือนกันในทั้งสองสตริง
ส่งคืนค่าที่มากกว่าศูนย์เมื่ออักขระที่ตรงกันของสตริงด้านซ้ายมีค่า ASCII มากกว่าอักขระของสตริงด้านขวา ส่งคืนค่าที่น้อยกว่าศูนย์เมื่ออักขระที่ตรงกันของสตริงด้านซ้ายมีค่า ASCII น้อยกว่าอักขระของสตริงด้านขวา
นี่คือไวยากรณ์ของ strcmp() ในภาษา C
int strcmp(const char *leftString, const char *rightString );
ที่นี่
-
leftString − สตริงแรกที่จะเปรียบเทียบกับสตริงที่ถูกต้อง
-
rightString − สตริงที่สองที่ใช้เปรียบเทียบสตริงแรก
นี่คือตัวอย่าง strcmp() ในภาษา C
ตัวอย่าง
#include<stdio.h> #include<string.h> int main() { char str1[] = "hello World!"; char str2[] = "Hello World!"; int result = strcmp(str1, str2); if (result==0) printf("Strings are equal"); else printf("Strings are unequal"); printf("\nValue returned by strcmp() is: %d" , result); return 0; }
ผลลัพธ์
นี่คือผลลัพธ์:
Strings are unequal Value returned by strcmp() is: 32