วิธีแยกสตริงด้วย strpbrk() ในการเขียนโปรแกรม C

Withi Yaek String Dwy Strpbrk Ni Kar Kheiyn Porkaerm C



งานพื้นฐานในการเขียนโปรแกรมคือการแยกวิเคราะห์สตริง และการเขียนโปรแกรม 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() ฟังก์ชันเป็นฟังก์ชันที่มีประโยชน์สำหรับการแยกวิเคราะห์สตริง ช่วยให้คุณค้นหาอักขระใดๆ ในชุดอักขระในแต่ละสตริงที่ปรากฏเป็นครั้งแรก คุณสามารถสร้างโปรแกรมที่มีประสิทธิภาพและประสิทธิผลมากขึ้นโดยเข้าใจไวยากรณ์และการใช้ฟังก์ชันนี้