ว่าด้วยเรื่อง "Compare String in C"
จะเห็นได้ว่ามี String Function มากมายใน <string.h>
ก็เลย "งง" ว่าทำไมมันขึ้นแบบนี้ และเอาคำถามนี้ไปถามท่านอาจารย์ภิญโญ
ได้แล้ววววววว ~
ให้เราได้ใช้กัน แต่วันนี้เราจะมา Focus ที่ strcmp หรือ "String Compare Function"
เพราะมันมีความต่างระหว่าง Windows กับ Mac OS X อยู่
การ Compare String ตามหลักการทางคอมพิวเตอร์นั้น
Algorithm ที่ใช้คือ "ถ้าของ 2 สิ่งเหมือนกัน เมื่อนำมาลบกันแล้ว จะได้ค่าเป็น 0"
โดยแบ่งออกเป็น 2 กรณีคือ
- เปรียบเทียบโดยสนใจลักษณะตัวอักษร
- เปรียบเทียบโดยไม่สนใจลักษณะตัวอักษร
ใน Windows เนี่ยเราจะใช้
- int strcmp(firstString,secondString); เปรียบเทียบโดยสนใจลักษณะตัวอักษร
- int strcmpi(firstString,secondString); เปรียบเทียบโดยไม่สนใจลักษณะตัวอักษร
วันนึงก็มีน้องมาถามว่า strcmpi คืออะไรพี่ - - งงสิครับ... บอกได้ว่า อาจารย์ที่สอน Programming ตอนปี 1 ไม่เคยสอนมาก่อน
ก็เลยหาข้อมูลไปเพื่อตอบคำถามน้องๆ... ในช่วง Coding กลับเจอแบบนี้ (จขบ. ใช้ Mac OS X)
ก็เลย "งง" ว่าทำไมมันขึ้นแบบนี้ และเอาคำถามนี้ไปถามท่านอาจารย์ภิญโญ
ได้รับคำตอบกลับมาว่า
" ใน Mac OS นั้น strcmpi(); ถูก define ชื่อไว้เป็น strcasecmp(); "
ก็จะได้โปรแกรมแบบนี้นะ ^^
ได้แล้ววววววว ~
ว่างเลย Blog เล่น ^^ ขอจบเพียงเท่านี้
**PS. ลักษณะตัวอักษรในที่นี้หมายถึง Upper-Case (อักษรพิมพ์ใหญ่) และ Lower-Case (อักษรพิมพ์เล็ก)
**PS. ลักษณะตัวอักษรในที่นี้หมายถึง Upper-Case (อักษรพิมพ์ใหญ่) และ Lower-Case (อักษรพิมพ์เล็ก)
Comments
Post a Comment