งานพื้นฐานในการเขียนโปรแกรมคือการแยกวิเคราะห์สตริง และการเขียนโปรแกรม C มีฟังก์ชันหลายอย่างเพื่อให้บรรลุสิ่งนี้ เดอะ strpbrk() ฟังก์ชันเป็นหนึ่งในฟังก์ชันที่ใช้ในการแยกวิเคราะห์สตริง ฟังก์ชันอเนกประสงค์นี้สามารถใช้เพื่อค้นหาการปรากฏตัวครั้งแรกของอักขระใดๆ ภายในลำดับของอักขระที่แสดงรายการในตัวแปรสตริง บทความนี้จะให้คำอธิบายโดยละเอียดเกี่ยวกับวิธีการแยกวิเคราะห์สตริงในภาษา C โดยใช้ strpbrk() การทำงาน.
วิธีแยกสตริงด้วย strpbrk() ในการเขียนโปรแกรม C
ไวยากรณ์ของ strpbrk() ฟังก์ชั่นมีดังนี้:
ถ่าน * แถบ ( ถ่าน * str1 อักขระ const * str2 ) ;
ฟังก์ชันต้องการสองอาร์กิวเมนต์ str1 และ str2 ข้อความที่ต้องการค้นหาและชุดอักขระที่ต้องการค้นหา ตามลำดับ ฟังก์ชันนี้ส่งคืนตัวชี้ของอักขระใน str1 ฟังก์ชันส่งคืนค่า NULL หากไม่มีค่าที่ตรงกัน
ทีนี้มาดูตัวอย่างการใช้งานกัน strpbrk() เพื่อแยกวิเคราะห์สตริง
#รวม
#รวม
int หลัก ( ) {
ถ่าน str [ ห้าสิบ ] = 'บทความนี้เขียนขึ้นสำหรับ Linuxint' ;
ถ่าน * การแข่งขัน = strpbrk ( สตริง 'ออ' ) ;
ถ้า ( จับคู่ ! = โมฆะ ) {
พิมพ์ฉ ( 'การเกิดขึ้นครั้งแรกของ 'o' อยู่ที่ตำแหน่ง %ld \n ' จับคู่ - str ) ;
} อื่น {
พิมพ์ฉ ( 'ไม่พบการแข่งขัน \n ' ) ;
}
กลับ 0 ;
}
ในโค้ดด้านบน str และ “o” คือสองอาร์กิวเมนต์ที่เราส่งไปยัง strpbrk() การทำงาน. ฟังก์ชันค้นหาตัวอย่างแรกของตัวอักษร 'o' ในสตริง str ฟังก์ชันส่งคืนการอ้างอิงไปยังตำแหน่งในสตริงที่พบการจับคู่ ตำแหน่งของการจับคู่ในสตริงจะถูกกำหนดโดยใช้เลขคณิตพอยน์เตอร์
เอาต์พุต
เดอะ strpbrk() ฟังก์ชันสามารถใช้เพื่อแยกวิเคราะห์สตริงสำหรับอักขระหลายตัว ตัวอย่างเช่น:
#รวม
#รวม
int หลัก ( ) {
ถ่าน str [ ห้าสิบ ] = 'บทความนี้เขียนขึ้นสำหรับ Linuxint' ;
ถ่าน * การแข่งขัน = strpbrk ( สตริง 'คุณเป็นหนี้' ) ;
ถ้า ( จับคู่ ! = โมฆะ ) {
พิมพ์ฉ ( 'การเกิดขึ้นครั้งแรกของสระใด ๆ อยู่ที่ตำแหน่ง %ld \n ' จับคู่ - str ) ;
} อื่น {
พิมพ์ฉ ( 'ไม่พบการแข่งขัน \n ' ) ;
}
กลับ 0 ;
}
ในกรณีนี้ ฟังก์ชันจะค้นหาการเกิดขึ้นครั้งแรกของสระใดๆ ในสตริง หากพบรายการที่ตรงกัน ฟังก์ชันจะส่งคืนตัวชี้ไปยังตำแหน่งในสตริงที่พบรายการที่ตรงกัน
เอาต์พุต
สิ่งสำคัญคือต้องระลึกไว้เสมอว่า strpbrk() ค้นหาตัวอย่างแรกของอักขระในชุด เนื่องจากจะสแกนสตริงจากซ้ายไปขวา หากคุณต้องการค้นหาตัวอย่างสุดท้ายของอักขระในสตริง คุณสามารถใช้ strcher() การทำงาน.
บทสรุป
ในการเขียนโปรแกรมภาษาซีนั้น strpbrk() ฟังก์ชันเป็นฟังก์ชันที่มีประโยชน์สำหรับการแยกวิเคราะห์สตริง ช่วยให้คุณค้นหาอักขระใดๆ ในชุดอักขระในแต่ละสตริงที่ปรากฏเป็นครั้งแรก คุณสามารถสร้างโปรแกรมที่มีประสิทธิภาพและประสิทธิผลมากขึ้นโดยเข้าใจไวยากรณ์และการใช้ฟังก์ชันนี้