การทำให้สตริงมีตัวพิมพ์ใหญ่ในภาษา C ต้องการความเข้าใจเบื้องต้นเกี่ยวกับการจัดการอักษรและการท่องสตริง เนื่องจากภาษา C ไม่มีฟังก์ชันสำเร็จรูปสำหรับการทำงานนี้ คุณจะต้องตรวจสอบแต่ละอักษรโดยปรับเปลี่ยนตามความจำเป็น ด้านล่างคือการเป็นรูปธรรมอย่างง่าย.
ในภาษา C สตริงเป็นอาร์เรย์ของอักขระที่ลงท้ายด้วยอักขระ null (\0) ซึ่งแตกต่างจากในภาษาระดับสูง ภาษา C ไม่มีฟังก์ชั่นการต่อสตริงในตัว แต่คุณใช้ฟังก์ชัน strcat() หรือ strncat() จากไลบรารี <string.h> นี่คือตัวอย่างง่ายๆ โดยใช้ strcat().
\0
strcat()
strncat()
<string.h>
ภาษา C ไม่มีฟังก์ชันในตัวสำหรับการแปลงสตริงเป็นตัวพิมพ์เล็กโดยตรงเหมือนกับภาษาระดับสูงบางอย่าง อย่างไรก็ตาม กระบวนการนี้สามารถทำได้โดยง่ายโดยใช้ฟังก์ชันของไลบรารีมาตรฐานของภาษา C ด้านล่างคือคู่มือทีละขั้นตอนและตัวอย่างที่แสดงวิธีการแปลงสตริงเป็นตัวพิมพ์เล็ก.
C ไม่มีฟังก์ชันในตัวสำหรับการลบอักขระจากสตริงโดยตรงตามรูปแบบ, ไม่เหมือนกับภาษาระดับสูงบางภาษา อย่างไรก็ตาม, คุณสามารถทำภารกิจนี้ได้โดยง่ายด้วยการวนซ้ำผ่านสตริงด้วยตนเองและสร้างสตริงใหม่ที่ไม่รวมอักขระที่ไม่ต้องการ ตัวอย่างเช่น, สมมติว่าคุณต้องการลบตัวเลขทั้งหมดออกจากสตริง คุณสามารถทำได้ดังนี้.
ไม่เหมือนกับภาษาระดับสูงอื่น ๆ ที่มีวิธีการในตัวสำหรับการสร้างสตริงย่อย C ต้องใช้วิธีการที่มากขึ้นด้วยตัวมันเองในการใช้ฟังก์ชันการจัดการสตริง นี่คือวิธีการสร้างสตริงย่อยใน C อย่างมีประสิทธิภาพ.
ในภาษา C, ฟังก์ชันมาตรฐาน strlen() มักถูกใช้ในการหาความยาวของสตริง นี่คือตัวอย่างเล็กน้อย.
strlen()
C ไม่เหมือนกับภาษาโปรแกรมระดับสูงบางภาษาที่ไม่รองรับการแทรกสตริงโดยตรงในไวยากรณ์ของมัน แต่การสร้างสตริงที่มีเนื้อหาแปรผันนั้นได้รับการสำเร็จโดยปกติผ่านฟังก์ชัน printf หรือตัวแปรของมันสำหรับการแสดงผล และ sprintf สำหรับการสร้างสตริง นี่คือการดูวิธีการสร้างสตริงไดนามิกใน C.
printf
sprintf
เพื่อลบเครื่องหมายอ้างอิงออกจากสตริงในภาษา C วิธีการคือเราจะท่องไปในสตริง คัดลอกอักขระที่ไม่ใช่เครื่องหมายอ้างอิงเข้าไปในสตริงใหม่ กระบวนการนี้สามารถปรับให้เหมาะสมได้เพื่อลบเฉพาะเครื่องหมายอ้างอิงที่อยู่ที่ปลายสุดและต้นของสตริงหรือลบเครื่องหมายอ้างอิงทั้งหมดที่ปรากฏในสตริง ด้านล่างคือตัวอย่างประกอบที่แสดงทั้งสองวิธีการ.
ภาษา C ไม่มีฟังก์ชั่นในตัวสำหรับการค้นหาและแทนที่สตริงโดยตรง อย่างไรก็ตาม คุณสามารถทำเช่นนี้ได้โดยการรวมฟังก์ชันการจัดการสตริงต่างๆที่มีอยู่ในไลบรารี <string.h> พร้อมกับตรรกะที่กำหนดเอง ด้านล่างเป็นตัวอย่างพื้นฐานของวิธีการค้นหาสตริงย่อยภายในสตริงและแทนที่ สำหรับความง่าย ตัวอย่างนี้สมมุติว่ามีขนาดบัฟเฟอร์เพียงพอและไม่ได้จัดการกับปัญหาการจัดสรรหน่วยความจำซึ่งคุณควรพิจารณาในโค้ดการผลิต.
เพื่อใช้นิพจน์ปรกติในภาษา C, คุณจะต้องทำงานกับไลบรารี POSIX regex (<regex.h>) เป็นหลัก ตัวอย่างนี้แสดงการจับคู่รูปแบบพื้นฐาน.
<regex.h>