42.String ใน C++ เขียนโดยpreecha11th



ข้อมูลชนิด string นั้นเป็นข้อมูลที่ประกอบด้วยข้อมูลประเภท char หลายๆตัวมาต่อกันเป็น array โดยการบอกจุดสิ้นสุดสุดของข้อมูลชนิดนี้คือ ”

ตัวอย่างเช่นสมมติว่าผมต้องการใส่ข้อมูลชื่อผม Preecha ซึ่งมีความยาว 7 ตัวลงใน string ผมจะต้องกำหนดความยาวของ array ของ char เป็น 8 (เพราะจะต้องรวมอักขระ ‘0’ เป็นตัวปิดท้ายเข้าไปด้วย) ดังตัวอย่างต่อไปนี้


เราจะรู้สึกว่าการประกาศ string ในรูปแบบของ array ค่อนข้างน่าเวียนหัวทีเดียว C++ นั้นจะอำนวยความสะดวกให้เรา โดยเราสามารถประกาศ string ในรูปแบบที่คร่อมด้วยเครื่องหมายฟันหนูได้ด้วย ดังนี้ครับ

เนื่องจาก string เป็นข้อมูลชนิด array ดังนั้นในการ assign ค่าก็ดี  การเปรียบเทียบค่าก็ดี เราจะทำแบบตัวแปรปรกติไม่ได้ครับ สำหรับใน C++ สามารถเรียกใช้ฟังก์ชันสำเร็จรูปในภาษา C เกี่ยวกับ string ซึ่งมีอยู่หลายฟังก์ชันด้วยกัน

เช่น ฟังก์ชัน assign ค่า มีชื่อว่า strcpy (อ่านว่า string copy) รูปแบบของคำสั่งจะมีลักษณะดังนี้ครับ

strcpy(string ที่ต้องการ assignค่า , string ต้นฉบับ)

ลองมาดูตัวอย่างกันครับ

ฟังก์ชันเปรียบเทียบค่า string 2 ตัวว่าเป็นตัวเท่ากันหรือไม่ มีชื่อว่า strcmp (อ่านว่า string compare) มีรูปแบบของคำสั่งดังนี้ครับ

strcmp(string1 , string2)

โดยถ้า string ทั้งสองเท่ากันจะให้ค่าเป็น 0 แต่ถ้าไม่เท่ากันจะให้ค่าเป็นอย่างอื่น

มาดูตัวอย่างกันครับ

ฟังก์ชัน strcat (อ่านว่า string-cat) เป็นฟังก์ชันที่ใช้ต่อ string ซึ่งมีรูปแบบดังนี้

strcat(string ที่ต้องการต่อความยาว , string ที่เอามาต่อ)

มาดูตัวอย่างกันครับ

มีฟังก์ชันที่ชื่อว่า strlen ซึ่งจะ return ค่าเป็นความยาวของ string (ไม่ใช่ความยาวของ array นะครับ) ซึ่งมีรูปแบบของคำสั่งเป็น

strlen(string)

มาดูตัวอย่างกันครับ

อืมมม…. ถ้าถามว่ามีวิธีการจัดการเกี่ยวกับ string ที่ง่ายกว่านี้มั๊ย?? คำตอบคือมีครับ ใน C++ มันจะมี class ที่ชื่อว่า string ซึ่งจะทำให้เราจัดการเกี่ยวกับ string ได้ง่ายเหมือนจัดการกับตัวแปรปรกติเลยครับ

ลองมาดูตัวอย่างกันครับ

ตัวอย่างแรกเป็นตัวอย่างเกี่ยวกับการ assign ค่าของ string

ต่อไปเป็นตัวอย่างการเปรียบเทียบว่า string 2 ตัวเท่ากันไม่ครับ

สังเกตนะครับว่าถ้า string ทั้งสองเท่ากัน มันจะ return ค่าเป็น 1

แต่ถ้า string ทั้งสองไม่เท่ากันมันจะ return ค่าเป็น 0 (อย่าไปสับสนกับฟังก์ชัน strcmp นะครับ)

ต่อไปเป็นตัวอย่างการเอา string มาต่อกันครับ

ถ้าหากว่าเราต้องการหาความยาวของ string เราสามารถใช้ method ที่ชื่อว่า length ใน class string ได้ดังนี้ครับ

เห็นมั๊ยครับว่าการเรียกใช้ class string ใน C++ ทำให้การเขียนโปรแกรมเราง่ายขึ้นมากเลยครับ ^^