C ++ มีตัวอย่าง

C Mi Tawxyang



ชนิดข้อมูลสตริงใน C++ ช่วยให้สามารถใช้ฟังก์ชันต่างๆ เพื่อทำกิจกรรมต่างๆ กับสตริงได้ ไม่ว่าสตริงย่อยจะอยู่ในสตริงต้นฉบับหรือไม่นั้นสามารถกำหนดได้โดยการตรวจสอบ ภาษา C++ อำนวยความสะดวกให้เราด้วยฟังก์ชันต่างๆ ที่ช่วยในการค้นหาว่าสตริงมีสตริงย่อยหรือไม่ ฟังก์ชัน contains() เป็นหนึ่งในฟังก์ชันที่ช่วยในการทำงานนี้ คุณลักษณะนี้มีเฉพาะใน C++ 23 เท่านั้น เราจะเรียนรู้ในรายละเอียดว่าฟังก์ชัน contains() นี้ช่วยให้เราค้นหาได้ว่าสตริงย่อยนั้นมีอยู่ในสตริงต้นฉบับหรือไม่

ตัวอย่างที่ 1:

ในสถานการณ์นี้ เราต้องทำงานกับสตริงและข้อมูลอินพุตหรือเอาต์พุต ดังนั้นจึงมีไฟล์ส่วนหัว 'iostream' และ 'string' ดังนั้นจึงต้องรวมไฟล์ส่วนหัวเหล่านี้ไว้ที่นี่ หลังจากนั้น เราไม่จำเป็นต้องรวม “std” นี้กับแต่ละฟังก์ชันแยกจากกันในโค้ดของเราอีกต่อไป เนื่องจากเราได้รวม “namespace std” ด้วยความช่วยเหลือของคีย์เวิร์ด “using” แล้ว ต่อไปนี้จะเรียกว่าฟังก์ชัน 'main()' จากนั้นตัวแปร 'string' ชื่อ 'OriginalString' จะถูกเตรียมใช้งานด้วยสตริงบางตัว จากนั้นเราเริ่มต้นตัวแปร 'สตริง' อื่นชื่อ 'คำ' ด้วย C ++

ด้านล่างนี้ เราใช้ 'cout' และพิมพ์สตริงต้นฉบับนั้น หลังจากนี้ เราจะประกาศ 'int Result' และวางฟังก์ชัน 'contains()' เพื่อตรวจสอบว่า 'OriginalString' มี 'word' หรือไม่ เราวาง 'ถ้า' ไว้ด้านล่าง เราส่งต่อ 'ผลลัพธ์' ไปที่ 'ถ้า' หากสตริงเดิมมีสตริงย่อย จะแสดงคำสั่งที่เราเพิ่มไว้หลัง 'if' ในกรณีที่สตริงไม่มีสตริงย่อย คำสั่งที่แสดงหลัง 'else' จะถูกแสดงผล







รหัส 1:

#รวม

#รวม

ใช้เนมสเปซมาตรฐาน -

ภายใน หลัก - -

-

สตริง originalString - 'ฉันชอบการเขียนโปรแกรม C++' -

คำสตริง - 'ค++' -

ศาล - 'สตริงคือ = ' - ต้นฉบับสตริง - สิ้นสุด - สิ้นสุด -

ภายใน ผลลัพธ์ - ต้นฉบับสตริง ประกอบด้วย - คำ - -

ถ้า - ผลลัพธ์ -

-

ศาล - 'คำที่พบในสตริงซึ่งก็คือ = ' - คำ - สิ้นสุด -

-

อื่น

-

ศาล - 'ไม่พบคำในสตริง' - สิ้นสุด -

-

กลับ 0 -

-

เอาท์พุท:



ผลลัพธ์นี้แสดงให้เห็นว่าสตริงย่อยที่เราพบในสตริงต้นฉบับโดยใช้ฟังก์ชัน contains() อยู่ภายในสตริงต้นฉบับและแสดงไว้ที่นี่







ตัวอย่างที่ 2:

“iostream” และ “string” เป็นไฟล์ส่วนหัวที่เรานำเข้าในโค้ดนี้ เนมสเปซ 'std' รวมอยู่ด้วย จากนั้น main() จะถูกเรียกที่นี่ ต่อไป เราจะเริ่มต้นตัวแปร “string” ที่เรียกว่า “str_1” โดยการเพิ่มข้อมูลสตริงบางส่วน ต่อจากนี้ไป เราจะเริ่มต้นตัวแปร 'string' ที่เรียกว่า 'str_2' ด้วย 'Rain'

ด้านล่างนี้ เราจะพิมพ์สตริงต้นฉบับโดยใช้ฟังก์ชัน 'cout' เพื่อตรวจสอบว่า “str_2” มีอยู่ใน “str_1” หรือไม่ เราจะประกาศ “int Outcome” และแทรกเมธอด contains() ที่นี่ ด้านล่างนี้ เราใส่ 'if' และส่ง 'Outcome' ไปที่ 'if' เราเพิ่มคำสั่ง 'cout' หลังจาก 'if' ถูกเรนเดอร์ หากสตริงต้นฉบับมีสตริงย่อย มิฉะนั้น คำสั่ง 'cout' ที่ตามหลัง 'else' จะถูกแสดงผล



รหัส 2:

#รวม

#รวม

ใช้เนมสเปซมาตรฐาน -

ภายใน หลัก - -

-

สตริง str_1 - 'อากาศข้างนอกเย็นสบาย' -

สตริง str_2 - 'ฝน' -

ศาล - 'สตริงคือ = ' - str_1 - สิ้นสุด - สิ้นสุด -

ภายใน ผล - str_1. ประกอบด้วย - str_2 - -

ถ้า - ผล -

-

ศาล - 'คำที่พบในสตริงซึ่งก็คือ = ' - str_2 - สิ้นสุด -

-

อื่น

-

ศาล - 'ไม่พบคำในสตริง' - สิ้นสุด -

-

กลับ 0 -

-

เอาท์พุท:

นี่แสดงว่าสตริงย่อยที่เราพบในสตริงต้นฉบับด้วยความช่วยเหลือของการใช้ฟังก์ชัน contains() ไม่พบในสตริงต้นฉบับ และเป็นผลให้แสดงผลที่นี่

ตัวอย่างที่ 3:

เรานำเข้าไฟล์ส่วนหัว “iostream” และ “string” ในโค้ดนี้ จากนั้น ด้านล่างนี้ เราใช้ 'namespace std' จากนั้น main() จะถูกเรียกใช้ที่นี่ ตอนนี้ เราเริ่มต้นตัวแปรสองตัวของประเภทข้อมูล “string” ด้วยชื่อ “myString_1” และ “myString_2” ตามลำดับ และกำหนดสตริงดั้งเดิมที่เราต้องการค้นหาสตริงย่อยให้กับตัวแปร “myString_1” และกำหนดสตริงย่อย ไปที่ตัวแปร “myString_2”

หลังจากนี้ เราจะแสดงสตริงดั้งเดิมโดยใส่ “myString_1” ลงในคำสั่ง “cout” จากนั้นวาง “if” ซึ่งเราใช้เมธอด “contains()” เพื่อตรวจสอบว่าสตริงที่กำหนดมีสตริงย่อยหรือไม่ หากมีสตริงย่อยอยู่ในสตริงเดิม ด้วยความช่วยเหลือของ 'cout' เราจะเรนเดอร์ผลลัพธ์

เราวางประโยค “cout” สองประโยค โดยประโยคหนึ่งวางไว้หลัง “if” และอีกประโยคหนึ่งถูกเพิ่มไว้หลังส่วน “else” หากสตริงเดิมมีสตริงย่อย ระบบจะแสดงผล “cout” ที่อยู่หลัง “if” หากไม่พบสตริงย่อยหรือสตริงเดิมไม่มีสตริงย่อย ระบบจะแสดงผล 'cout' ที่ตามหลัง 'else'

รหัส 3:

#รวม

#รวม

ใช้เนมสเปซมาตรฐาน -

ภายใน หลัก - -

-

สตริง myString_1 - 'สวัสดี! สวัสดีชาวโลก' -

สตริง myString_2 - 'สวัสดี' -

ศาล - 'สตริงที่สมบูรณ์คือ' - myString_1 - สิ้นสุด -

ถ้า - myString_1. ประกอบด้วย - myString_2 - - -

ศาล - 'สตริงที่พบ = ' - myString_2 - สิ้นสุด -

-

อื่น -

ศาล - “ไม่พบสตริงที่นี่” - สิ้นสุด -

-



กลับ 0 -

-

เอาท์พุท:

ผลลัพธ์นี้แสดงให้เห็นว่าสตริงย่อยที่เราค้นหาภายในสตริงต้นฉบับโดยใช้เมธอด contains() นั้นอยู่ภายในสตริงต้นฉบับและแสดงไว้ที่นี่

ตัวอย่างที่ 4:

ไฟล์ส่วนหัว “iostream” และ “string” จะถูกนำเข้ามายังโค้ดนี้ จากนั้นฟังก์ชัน main() จะถูกเรียกที่นี่หลังจากที่เราใช้ 'namespace std' ข้างใต้ การเริ่มต้นของตัวแปรทั้งสองชนิดข้อมูล 'สตริง' มีชื่อว่า 's_1' และ 's_2' ตามลำดับ ตอนนี้สตริงดั้งเดิมที่เราต้องการค้นหาสตริงย่อยถูกกำหนดให้กับตัวแปร “s_1” แล้ว และสตริงย่อยถูกกำหนดให้กับตัวแปร “s_2” จากนั้นสตริงดั้งเดิมจะแสดงโดยการแทรก “s_1” ลงในคำสั่ง “cout”

ต่อไป เราจะเพิ่มส่วนคำสั่ง “if” โดยที่เราใช้เมธอด contains() เพื่อตรวจสอบว่าสตริงที่ให้มามีสตริงย่อยหรือไม่ เราเรนเดอร์เอาต์พุตโดยใช้ 'cout' หากมีสตริงย่อยอยู่ในสตริงดั้งเดิม มีการเพิ่มคำสั่ง 'cout' สองคำสั่ง หนึ่งคำสั่งอยู่หลัง 'if' และอีกคำสั่งหนึ่งอยู่หลังส่วน 'else' ของโค้ด “cout” ที่ตามหลัง “if” จะแสดงผลหากมีสตริงย่อยอยู่ในสตริงต้นฉบับ มิฉะนั้น 'cout' ที่ตามหลัง 'else' จะถูกเรนเดอร์หากสตริงย่อยไม่สามารถอยู่ในสตริงดั้งเดิมได้

รหัส 4:

#รวม

#รวม

ใช้เนมสเปซมาตรฐาน -

ภายใน หลัก - -

-

สตริง s_1 - 'สวัสดี ฉันแจ็คอยู่นี่' -

สตริง s_2 - 'ปีเตอร์' -

ศาล - 'สตริงที่สมบูรณ์คือ = ' - s_1 - สิ้นสุด -

ถ้า - s_1. ประกอบด้วย - s_2 - - -

ศาล - 'สตริงที่พบ = ' - s_2 - สิ้นสุด -

-

อื่น -

ศาล - 'ไม่พบสตริง = ' - s_2 - สิ้นสุด -

-

กลับ 0 -

-

เอาท์พุท:

จากที่เห็นจากผลลัพธ์นี้ ไม่พบสตริงย่อยที่เราค้นหาในข้อความต้นฉบับโดยใช้เมธอด contains() ในโค้ด

ตัวอย่างที่ 5:

ที่นี่เราจะใช้ไลบรารี 'boost' และค้นหาว่าสตริงมีสตริงย่อยหรือไม่ ในวิธีการ 'boost' นี้ เรายังใช้ฟังก์ชัน contains() อีกด้วย ดังนั้นเราจึงรวมไฟล์ส่วนหัว “boost/algorithm/string.hpp” พร้อมด้วยไฟล์ส่วนหัว “iostream” และ “string” ไว้ในโค้ดนี้ด้วย จากนั้นเราวาง “std” และเรียกใช้เมธอด main() ที่นี่

จากนั้นเราประกาศตัวแปรซึ่งเป็น “StringData1” และ “StringData2” ของประเภทข้อมูล “string” และเริ่มต้นข้อมูลสตริงที่นี่ ตัวแปร “c_result” ของประเภทข้อมูล “bool” เริ่มต้นได้ด้วย “boost::algorithm::contains()” และเราจะส่งผ่าน “StringData1” และ “StringData2” เข้าไปในฟังก์ชันนี้ นอกจากนี้ยังค้นหาสตริงย่อยในสตริงต้นฉบับและจัดเก็บผลลัพธ์บูลีนไว้ในตัวแปร “c_result”

ตอนนี้ เราวาง “c_result==1” ไว้ใน “if” ด้านล่าง หากค่าบูลีนของ 'c_result' คือ '1' คำสั่งที่อยู่หลัง 'if' จะปรากฏขึ้น มิฉะนั้น ระบบจะเลื่อนไปยังส่วน 'else' และข้ามคำสั่งที่อยู่หลัง 'if' และแสดงคำสั่งของส่วน 'else'

รหัส 5:

#รวม

#รวม

#include

ใช้เนมสเปซมาตรฐาน -

ภายใน หลัก - - -

สตริง StringData1 - 'โปรแกรมแรกของฉัน' -

สตริง StringData2 - 'อันดับแรก' -

บูล c_result - เพิ่ม - อัลกอริทึม - ประกอบด้วย - สตริงข้อมูล1 - StringData2 - -

ถ้า - c_ผล - 1 -

-

ศาล - 'เชือก' - - - สตริงข้อมูล1 - - - ' ประกอบด้วย ' - StringData2 - สิ้นสุด -

-

อื่น

-

ศาล - 'คำที่ระบุไม่มีอยู่ในสตริง' -

-

กลับ 0 -

-

เอาท์พุท:

ตอนนี้พบสตริงย่อยในสตริงดั้งเดิมซึ่งเราเห็นได้ในผลลัพธ์นี้

บทสรุป

เราได้สำรวจวิธีการ contains() ของภาษา C++ โดยละเอียด เรายังกล่าวถึงด้วยว่าฟังก์ชัน contains() มีเฉพาะใน “C+++ 23” เท่านั้น เราสำรวจว่าฟังก์ชัน contains() ช่วยในการค้นหาสตริงย่อยในสตริงต้นฉบับหรือไม่ หรือช่วยในการตรวจสอบว่าสตริงมีสตริงย่อยหรือไม่ และแสดงผลผลลัพธ์ตามนั้น