การเปรียบเทียบความยาวสตริงเป็นฟังก์ชันทั่วไปในการเขียนโปรแกรม C เนื่องจากจะช่วยให้คุณเห็นว่าสตริงใดมีอักขระมากกว่า ซึ่งมีประโยชน์มากสำหรับการจัดเรียงข้อมูล การเปรียบเทียบสตริงจำเป็นต้องมีฟังก์ชันพิเศษ ห้ามใช้ != หรือ ==
ขั้นตอน
ขั้นตอนที่ 1 มีสองฟังก์ชันที่ให้คุณเปรียบเทียบสตริงใน C
ฟังก์ชันทั้งสองนี้รวมอยู่ในไลบรารี
- strcmp() - ฟังก์ชั่นนี้เปรียบเทียบสองสตริงและส่งคืนความแตกต่างเชิงเปรียบเทียบในจำนวนอักขระ
- strncmp() - เหมือนกับ strcmp() ยกเว้นว่าจะเปรียบเทียบอักขระ n ตัวแรก ถือว่าปลอดภัยกว่าเพราะช่วยป้องกันการแครชไม่ให้ล้น
ขั้นตอนที่ 2 เริ่มโปรแกรมด้วยไลบรารีที่จำเป็นของคุณ
คุณจะต้องการทั้งไลบรารีและไลบรารี รวมทั้งส่วนอื่นๆ ที่คุณต้องการสำหรับโปรแกรมเฉพาะของคุณ
#รวม #รวม
ขั้นตอนที่ 3 เริ่ม
int การทำงาน.
นี่เป็นวิธีที่ง่ายที่สุดในการเรียนรู้ฟังก์ชันนี้ เนื่องจากจะส่งกลับจำนวนเต็มที่เปรียบเทียบความยาวของสองสตริง
#include #include ใน main () { }
ขั้นตอนที่ 4 กำหนดสองสตริงที่คุณต้องการเปรียบเทียบ
สำหรับตัวอย่างนี้ เราจะเปรียบเทียบสองสตริงอักขระที่กำหนดไว้ล่วงหน้า คุณจะต้องกำหนดค่าที่ส่งกลับเป็นจำนวนเต็ม
#include #include int main () { ถ่าน * str1 = "แอปเปิ้ล"; ถ่าน *str2 = "สีส้ม"; int ret; }
ขั้นตอนที่ 5. เพิ่มฟังก์ชันการเปรียบเทียบ
เมื่อคุณกำหนดสองสตริงได้แล้ว คุณสามารถเพิ่มฟังก์ชันการเปรียบเทียบได้ เราจะใช้ strncmp() ดังนั้นเราต้องแน่ใจว่าจำนวนอักขระที่จะวัดถูกตั้งค่าในฟังก์ชัน
#include #include int main () { ถ่าน * str1 = "แอปเปิ้ล"; ถ่าน *str2 = "สีส้ม"; int ret; ret = strncmp(str1, str2, 6); /*สิ่งนี้จะเปรียบเทียบสองสตริงที่มีความยาวไม่เกิน 6 อักขระ */ }
ขั้นตอนที่ 6. ใช้ไฟล์
ถ้า…อย่างอื่น คำสั่งเพื่อทำการเปรียบเทียบ
เมื่อคุณมีฟังก์ชันแล้ว คุณสามารถใช้คำสั่ง If…Else เพื่อแสดงว่าสตริงใดยาวกว่า strncmp() จะคืนค่า 0 หากสตริงมีความยาวเท่ากัน ค่าบวกหาก str1 มากกว่า และค่าลบหาก str2 มากกว่า
#include #include int main () { ถ่าน * str1 = "แอปเปิ้ล"; ถ่าน *str2 = "สีส้ม"; int ret; ret = strncmp(str1, str2, 6); if(ret > 0) { printf("str1 islong"); } else if(ret < 0) { printf("str2 is length"); } else { printf("สตริงทั้งสองมีค่าเท่ากัน"); } ผลตอบแทน (0); }