Cara menggunakan fungsi find_first_of () di C ++

How Use Find_first_of Function C



Fungsi terbina dalam yang berbeza terdapat di C ++ untuk bekerja dengan data rentetan. The cari_first_of () fungsi digunakan untuk mencari lokasi kejadian pertama watak yang ditentukan. Fungsi ini mengembalikan kedudukan kejadian rentetan pertama yang akan diberikan sebagai nilai argumen fungsi ini. Penggunaan fungsi ini berbeza untuk mencari rentetan dalam C ++ telah dijelaskan dalam tutorial ini.

Pra-syarat

Sebelum memeriksa contoh tutorial ini, anda harus memeriksa penyusun g ++ yang terpasang atau tidak dalam sistem. Sekiranya anda menggunakan Visual Studio Code, maka pasangkan sambungan yang diperlukan untuk menyusun kod sumber C ++ untuk membuat kod yang dapat dilaksanakan. Di sini, aplikasi Visual Studio Code telah digunakan untuk menyusun dan melaksanakan kod C ++.







Ciri fungsi find_first_of ()

The cari_first_of () fungsi dapat mengembalikan pelbagai jenis pemboleh ubah berdasarkan nilai argumen pertama. Ia akan mengembalikan kedudukan carian rentetan jika nilai argumen pertama adalah rentetan. Ia akan mengembalikan kedudukan carian rentetan watak jika penunjuk ke array watak diberikan dalam argumen pertama. Ia akan mengembalikan kedudukan penyangga sekiranya nilai argumen ketiga diberikan. Ia akan mengembalikan kedudukan watak jika watak diberikan dalam argumen pertama dan ia wujud dalam rentetan utama. Kedudukan permulaan carian ditetapkan dalam argumen kedua fungsi ini. Sintaks berbeza fungsi ini diberikan di bawah.



Sintaks

string size_t find_first_of (const string & str, size_t pos = 0) const;
c-string size_t find_first_of (const char * s, size_t pos = 0) const;
buffer size_t find_first_of (const char * s, size_t pos, size_t n) const;
watak size_t find_first_of (char c, size_t pos = 0) const;



Contoh 1: Cari dan ganti watak rentetan tertentu

Contoh berikut menunjukkan cara untuk mencari kedudukan watak tertentu dalam rentetan. Buat fail C ++ dengan kod berikut untuk menggantikan watak tertentu dengan watak lain. Dalam kod, cari_first_of () fungsi telah digunakan untuk mencari semua posisi watak tertentu dalam rentetan dan menggantikan watak dengan watak lain dengan menggunakan gelung. Rentetan asal dan tali yang diganti akan dicetak setelah melaksanakan kod.





// Sertakan untuk mencetak output
#sertakan
// Sertakan untuk menggunakan size_t
#sertakan

intutama()
{
// Memulakan pemboleh ubah rentetan
Jam::talistrData('Selamat Datang ke LinuxHint');
// Cetak rentetan asal
Jam::kos << 'Rentetan asal ialah:' +strData<< ' n';
// Ketahui semua kedudukan watak 'i'
Jam::saiz_tsearchList=strData.cari_first_of('saya');
// Ulangi gelung untuk menggantikan semua 'i' dengan '@'
sementara (searchList!=Jam::tali::npos)
{
strData[searchList] = '@';
searchList=strData.cari_first_of('saya', senarai carian+1);
}
// Cetak rentetan yang diubah suai
Jam::kos << 'Rentetan yang diubah adalah:' +strData<< ' n';

kembali 0;
}

Pengeluaran:

Output berikut akan muncul setelah melaksanakan kod di atas.



Contoh 2: Cari kedudukan pertama watak mencari

Buat fail C ++ dengan kod berikut untuk mencari kedudukan rentetan pelbagai watak dan mengembalikan kedudukan pertama watak yang sesuai dengan rentetan utama. Data rentetan telah ditetapkan dalam pemboleh ubah rentetan, dan posisi pertama disimpan dalam pemboleh ubah integer. Nilai kedudukan akan dicetak setelah melaksanakan kod.

// Sertakan untuk mencetak output
#sertakan

intutama()
{
// Memulakan pemboleh ubah rentetan
Jam::talistrData( 'Pengaturcaraan C ++ Asas');
// Menyatakan pemboleh ubah interger untuk menyimpan kedudukan
intkedudukan;
// Cari watak 'C ++'
kedudukan=strData.cari_first_of( 'K ++' );
// Periksa nilai kedudukan
sekiranya (kedudukan> = 0)
{
// Cetak kedudukan jika ada watak yang dijumpai
Jam::kos << 'Watak' ' <<strData[kedudukan]
<< '' telah jumpa' << 'pada kedudukan' <<kedudukan<< ' n';
}

kembali 0;
}

Pengeluaran:

Output berikut akan muncul setelah melaksanakan kod di atas. Di sini, watak, ' + 'Tali,' K ++ 'Telah menemui di kedudukan itu, 7 rentetan utama, ' Pengaturcaraan C ++ asas '.

Contoh 3: Cari watak tertentu selepas kedudukan tertentu

Buat fail C ++ dengan kod berikut untuk mencari watak tertentu selepas kedudukan tertentu. Data rentetan disimpan dalam pemboleh ubah rentetan, dan rentetan tertentu dicari setelah posisi, 13. Jika ada watak rentetan pencarian yang terdapat di tali utama, maka nilai posisi akan dikembalikan.

// Sertakan untuk mencetak output
#sertakan

intutama()
{
// Memulakan pemboleh ubah rentetan
Jam::talistrData= 'makan untuk hidup, bukan hidup untuk makan';
// Cetak rentetan asal
Jam::kos << 'Rentetan asal ialah:' +strData<< ' n';
// Cetak kedudukan di mana watak terakhir dijumpai
Jam::kos<<'Karakter padanan terakhir dijumpai di kedudukan:'
<<strData.cari_first_of('di',13) << ' n';
kembali 0;
}

Pengeluaran:

Output berikut akan muncul setelah melaksanakan kod di atas. Di sini, watak, ' ke 'Tali,' di 'Telah menemui di kedudukan itu, lima belas rentetan utama, ' makan untuk hidup, bukan hidup untuk makan '.

Contoh 4: Cari kedudukan nombor pemadanan pertama

Buat fail C ++ dengan kod berikut untuk mencari setiap nombor senarai vektor pertama dalam senarai vektor kedua dan mengembalikan kedudukan nombor padanan dari senarai vektor pertama. Sekiranya argumen yang sepadan dijumpai, maka nilai kedudukan akan dikembalikan; jika tidak, mesej akan dicetak.

// Sertakan untuk mencetak output
#sertakan
// Sertakan untuk mencari data dalam vektor
#sertakan
// Sertakan untuk menggunakan data vektor
#sertakan

intutama()
{
// Menyatakan dua senarai vektor
Jam::vektorsenarai1{10,5,65,31,7};
Jam::vektorsenarai2{2,77,5,38,32,55};
// Cari data senarai1 ke dalam senarai2
keretapengeluaran=Jam::cari_first_of(senarai1.bermula(), senarai1.akhir(), senarai2.bermula(), senarai2.akhir());
// Baca kedudukan nombor yang sepadan
intkedudukan=Jam::jarak(senarai1.bermula(), pengeluaran);

// Periksa sebilangan besar senarai1 sesuai dengan sebilangan senarai2
sekiranya (pengeluaran<senarai1.akhir()) {
Jam::kos << 'Nombor padanan pertama' <<senarai1[kedudukan] << 'ditemui pada kedudukan' <<kedudukan<< ' n';
}
yang lain {
Jam::kos << 'Tidak dijumpai nombor yang sepadan. n';
}
}

Pengeluaran:

Output berikut akan muncul setelah melaksanakan kod di atas. Nilai nombor, 5 dari susunan pertama, terdapat dalam tatasusunan kedua dan kedudukan nombor ini adalah 1.

Kesimpulannya

Fungsi find_first_of () dapat digunakan untuk mencari watak atau nombor untuk pelbagai tujuan pengaturcaraan. Fungsi ini dapat digunakan untuk menyelesaikan pelbagai masalah pencarian. Saya harap pengaturcara C ++ dapat menggunakan fungsi ini dengan betul setelah membaca tutorial ini.