วิธีใช้ฟังก์ชัน find_first_of() ใน C++

How Use Find_first_of Function C



มีฟังก์ชันในตัวที่แตกต่างกันใน C ++ เพื่อทำงานกับข้อมูลสตริง NS find_first_of() ฟังก์ชั่นถูกใช้เพื่อค้นหาตำแหน่งของการเกิดขึ้นครั้งแรกของอักขระที่ระบุ ฟังก์ชันนี้ส่งคืนตำแหน่งการเกิดขึ้นครั้งแรกของสตริงที่จะได้รับเป็นค่าอาร์กิวเมนต์ของฟังก์ชันนี้ การใช้งานฟังก์ชันนี้เพื่อค้นหาสตริงใน C ++ ได้อธิบายไว้ในบทช่วยสอนนี้

ข้อกำหนดเบื้องต้น

ก่อนตรวจสอบตัวอย่างของบทช่วยสอนนี้ คุณต้องตรวจสอบก่อนว่าคอมไพเลอร์ g++ ติดตั้งหรือไม่อยู่ในระบบ หากคุณกำลังใช้ Visual Studio Code ให้ติดตั้งส่วนขยายที่จำเป็นเพื่อคอมไพล์ซอร์สโค้ด C++ เพื่อสร้างโค้ดที่เรียกใช้งานได้ ที่นี่ แอปพลิเคชัน Visual Studio Code ถูกใช้เพื่อคอมไพล์และรันโค้ด C++







คุณสมบัติของฟังก์ชัน find_first_of()

NS find_first_of() ฟังก์ชันสามารถคืนค่าตัวแปรประเภทต่างๆ ตามค่าของอาร์กิวเมนต์แรก จะส่งคืนตำแหน่งการค้นหาของสตริงหากค่าอาร์กิวเมนต์แรกเป็นสตริง มันจะส่งคืนตำแหน่งการค้นหาของสตริงอักขระหากตัวชี้ไปยังอาร์เรย์ของอักขระได้รับในอาร์กิวเมนต์แรก มันจะส่งคืนตำแหน่งบัฟเฟอร์หากได้รับค่าของอาร์กิวเมนต์ที่สาม จะส่งคืนตำแหน่งอักขระหากระบุอักขระในอาร์กิวเมนต์แรกและมีอยู่ในสตริงหลัก ตำแหน่งเริ่มต้นของการค้นหาถูกกำหนดไว้ในอาร์กิวเมนต์ที่สองของฟังก์ชันนี้ ไวยากรณ์ต่างๆ ของฟังก์ชันนี้แสดงไว้ด้านล่าง



ไวยากรณ์

สตริง size_t find_first_of (สตริง const& str, size_t pos = 0) const;
c-string size_t find_first_of (const ถ่าน* s, size_t pos = 0) const;
บัฟเฟอร์ size_t find_first_of (const ถ่าน* s, size_t pos, size_t n) const;
อักขระ size_t find_first_of (ถ่าน c, size_t pos = 0) const;



ตัวอย่างที่ 1: ค้นหาและแทนที่อักขระเฉพาะของสตริง

ตัวอย่างต่อไปนี้แสดงวิธีการค้นหาตำแหน่งของอักขระเฉพาะในสตริง สร้างไฟล์ C++ ด้วยรหัสต่อไปนี้เพื่อแทนที่อักขระเฉพาะด้วยอักขระอื่น ในรหัส find_first_of() ฟังก์ชันถูกใช้เพื่อค้นหาตำแหน่งทั้งหมดของอักขระเฉพาะในสตริงและแทนที่อักขระด้วยอักขระอื่นโดยใช้ลูป สตริงเดิมและสตริงที่แทนที่จะถูกพิมพ์หลังจากรันโค้ด





//รวมสำหรับพิมพ์ผลลัพธ์
#รวม
// รวมสำหรับการใช้ size_t
#รวม

intหลัก()
{
//เริ่มต้นตัวแปรสตริง
ชั่วโมง::สตริงstrData('ยินดีต้อนรับสู่ LinuxHint');
//พิมพ์สตริงเดิม
ชั่วโมง::ค่าใช้จ่าย << 'สตริงเดิมคือ:' +strData<< 'NS';
// ค้นหาตำแหน่งทั้งหมดของตัวละคร 'i'
ชั่วโมง::size_tค้นหารายการ=strDatafind_first_of('ผม');
//วนซ้ำเพื่อแทนที่ 'i' ทั้งหมดด้วย '@'
ในขณะที่ (ค้นหารายการ!=ชั่วโมง::สตริง::นโป้)
{
strData[ค้นหารายการ] = '@';
ค้นหารายการ=strDatafind_first_of('ผม',SearchList+1);
}
//พิมพ์สตริงที่แก้ไข
ชั่วโมง::ค่าใช้จ่าย << 'สตริงที่แก้ไขคือ: ' +strData<< 'NS';

กลับ 0;
}

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน



ตัวอย่างที่ 2: ค้นหาตำแหน่งแรกของอักขระค้นหา

สร้างไฟล์ C++ ด้วยรหัสต่อไปนี้เพื่อค้นหาตำแหน่งของสตริงที่มีอักขระหลายตัวและส่งคืนตำแหน่งแรกของอักขระที่ตรงกับสตริงหลัก ข้อมูลสตริงถูกกำหนดในตัวแปรสตริง และตำแหน่งแรกจะถูกเก็บไว้ในตัวแปรจำนวนเต็ม ค่าตำแหน่งจะถูกพิมพ์หลังจากรันโค้ด

//รวมสำหรับพิมพ์ผลลัพธ์
#รวม

intหลัก()
{
// เริ่มต้นตัวแปรสตริง
ชั่วโมง::สตริงstrData( 'การเขียนโปรแกรม C++ ขั้นพื้นฐาน');
// ประกาศตัวแปร interger เพื่อเก็บตำแหน่ง
intตำแหน่ง;
// ค้นหาอักขระ 'C++'
ตำแหน่ง=strDatafind_first_of( 'เค ++' );
// ตรวจสอบค่าตำแหน่ง
ถ้า (ตำแหน่ง> = 0)
{
// พิมพ์ตำแหน่งหากพบอักขระใด ๆ
ชั่วโมง::ค่าใช้จ่าย << 'บทบาท '' <<strData[ตำแหน่ง]
<< ''เจอแล้ว'' << ' ณ ตำแหน่ง ' <<ตำแหน่ง<< 'NS';
}

กลับ 0;
}

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน ที่นี่ตัวละคร ' + ' ของสตริง ' เค ++ ’ ได้พบที่ตำแหน่ง 7 ของสายหลัก ' การเขียนโปรแกรม C++ ขั้นพื้นฐาน '.

ตัวอย่างที่ 3: ค้นหาอักขระเฉพาะหลังจากตำแหน่งเฉพาะ

สร้างไฟล์ C++ ด้วยรหัสต่อไปนี้เพื่อค้นหาอักขระเฉพาะหลังจากตำแหน่งนั้น ๆ ข้อมูลสตริงถูกเก็บไว้ในตัวแปรสตริง และสตริงเฉพาะจะถูกค้นหาหลังจากตำแหน่ง 13 หากพบอักขระใดๆ ของสตริงการค้นหาในสตริงหลัก ค่าตำแหน่งจะถูกส่งคืน

//รวมสำหรับพิมพ์ผลลัพธ์
#รวม

intหลัก()
{
//เริ่มต้นตัวแปรสตริง
ชั่วโมง::สตริงstrData= 'กินเพื่ออยู่ ไม่ได้อยู่เพื่อกิน';
//พิมพ์สตริงเดิม
ชั่วโมง::ค่าใช้จ่าย << 'สตริงเดิมคือ:' +strData<< 'NS';
//พิมพ์ตำแหน่งที่พบอักษรตัวสุดท้าย
ชั่วโมง::ค่าใช้จ่าย<<'พบอักขระที่ตรงกันตัวสุดท้ายในตำแหน่ง :'
<<strDatafind_first_of('ที่',13) << 'NS';
กลับ 0;
}

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน ที่นี่ตัวละคร ' ถึง ' ของสตริง ' ที่ ’ ได้พบที่ตำแหน่ง สิบห้า ของสายหลัก ' กินเพื่ออยู่ ไม่ได้อยู่เพื่อกิน '.

ตัวอย่างที่ 4: ค้นหาตำแหน่งของหมายเลขที่ตรงกันครั้งแรก

สร้างไฟล์ C++ ด้วยรหัสต่อไปนี้เพื่อค้นหาแต่ละหมายเลขของรายการเวกเตอร์แรกในรายการเวกเตอร์ที่สอง และส่งคืนตำแหน่งของหมายเลขที่ตรงกันของรายการเวกเตอร์แรก หากพบอาร์กิวเมนต์ที่ตรงกัน ค่าตำแหน่งจะถูกส่งคืน มิฉะนั้นจะมีการพิมพ์ข้อความ

//รวมสำหรับพิมพ์ผลลัพธ์
#รวม
//รวมสำหรับการค้นหาข้อมูลใน vector
#รวม
// รวมสำหรับการใช้ข้อมูลเวกเตอร์
#รวม

intหลัก()
{
//ประกาศรายการเวกเตอร์สองรายการ
ชั่วโมง::เวกเตอร์รายการ1{10,5,65,31,7};
ชั่วโมง::เวกเตอร์รายการ2{2,77,5,38,32,55};
// ค้นหาข้อมูลของ list1 ลงใน list2
รถยนต์ผลผลิต=ชั่วโมง::find_first_of(รายการ1.เริ่ม(), รายการ1.จบ(), รายการ2.เริ่ม(), รายการ2.จบ());
// อ่านตำแหน่งของตัวเลขที่ตรงกัน
intตำแหน่ง=ชั่วโมง::ระยะทาง(รายการ1.เริ่ม(), เอาท์พุท);

// ตรวจสอบจำนวนใด ๆ ของ list1 ที่ตรงกับ list2 . จำนวนเท่าใดก็ได้
ถ้า (ผลผลิต<รายการ1.จบ()) {
ชั่วโมง::ค่าใช้จ่าย << 'หมายเลขที่ตรงกันครั้งแรก' <<รายการ1[ตำแหน่ง] << ' พบที่ตำแหน่ง ' <<ตำแหน่ง<< 'NS';
}
อื่น {
ชั่วโมง::ค่าใช้จ่าย << 'ไม่พบหมายเลขที่ตรงกันNS';
}
}

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันโค้ดด้านบน ค่าตัวเลข 5 ของอาร์เรย์แรกมีอยู่ในอาร์เรย์ที่สองและตำแหน่งของตัวเลขนี้คือ 1

บทสรุป

ฟังก์ชัน find_first_of() สามารถใช้เพื่อค้นหาอักขระหรือตัวเลขเพื่อวัตถุประสงค์ในการเขียนโปรแกรมต่างๆ ฟังก์ชันนี้สามารถใช้เพื่อแก้ปัญหาการค้นหาต่างๆ ฉันหวังว่าโปรแกรมเมอร์ C++ จะสามารถใช้ฟังก์ชันนี้ได้อย่างถูกต้องหลังจากอ่านบทช่วยสอนนี้