A find_first_of () függvény használata a C ++ nyelven

How Use Find_first_of Function C



Különböző beépített funkciók léteznek a C ++ nyelven, hogy dolgozzanak a karakterlánc adatokkal. Az find_first_of () függvény a megadott karakter első előfordulásának helyének megkeresésére szolgál. Ez a függvény a karakterlánc első előfordulásának pozícióját adja vissza, amelyet ennek a függvénynek az argumentumértékeként kell megadni. Ennek a funkciónak a C ++ nyelvű karakterláncban való keresésére szolgáló különböző felhasználási módokat ismertetjük ebben az oktatóanyagban.

Előfeltétel

Az oktatóanyag példáinak ellenőrzése előtt ellenőrizze, hogy a g ++ fordító telepítve van -e a rendszerben. Ha Visual Studio Code -ot használ, akkor telepítse a szükséges bővítményeket a C ++ forráskód fordításához a végrehajtható kód létrehozásához. Itt a Visual Studio Code alkalmazást használtuk a C ++ kód összeállításához és végrehajtásához.







A find_first_of () függvény jellemzői

Az find_first_of () függvény különböző típusú változókat adhat vissza az első argumentum értéke alapján. Visszaadja a karakterlánc keresési pozícióját, ha az első argumentum értéke karakterlánc. Visszaadja a karakterlánc keresési pozícióját, ha az első argumentumban egy karakter tömbre mutató mutató van megadva. Visszaadja a puffer pozíciót, ha a harmadik argumentum értéke meg van adva. Visszaadja a karakter pozícióját, ha az első argumentumban egy karakter van megadva, és létezik a fő karakterláncban. A keresés kiinduló pozíciója ennek a függvénynek a második argumentumában van megadva. Ennek a függvénynek a különböző szintaxisait az alábbiakban ismertetjük.



Szintaxis

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;
karakter size_t find_first_of (char c, size_t pos = 0) const;



1. példa: Keresse meg és cserélje ki a karakterlánc adott karakterét

A következő példa bemutatja, hogyan lehet keresni az adott karakter helyzetét egy karakterláncban. Hozzon létre egy C ++ fájlt a következő kóddal, hogy az adott karaktert egy másik karakterrel helyettesítse. A kódban a find_first_of () függvényt használták egy adott karakter összes pozíciójának keresésére egy karakterláncban, és a karakterek másik karakterrel való helyettesítésére a ciklus használatával. Az eredeti karakterlánc és a lecserélt karakterlánc kinyomtatásra kerül a kód végrehajtása után.





// Belefoglalás a kimenet nyomtatásához
#befoglalni
// Belefoglalás a size_t használatához
#befoglalni

intfő-()
{
// String változó inicializálása
órák::húrstrData('Üdvözli a LinuxHint!');
// Az eredeti karakterlánc kinyomtatása
órák::költség << 'Az eredeti karakterlánc:' +strData<< ' n';
// Ismerje meg az 'i' karakter összes pozícióját
órák::size_tsearchList=strData.find_first_of('én');
// Ismételje meg a ciklust, hogy az összes 'i' -et '@' -ra cserélje
míg (searchList!=órák::húr::npos)
{
strData[searchList] = '@';
searchList=strData.find_first_of('én', searchList+1);
}
// A módosított karakterlánc kinyomtatása
órák::költség << 'A módosított karakterlánc:' +strData<< ' n';

Visszatérés 0;
}

Kimenet:

A fenti kód végrehajtása után a következő kimenet jelenik meg.



2. példa: Keresse meg a keresett karakterek első helyét

Hozzon létre egy C ++ fájlt a következő kóddal, hogy megkeresse a több karakterből álló karakterlánc pozícióját, és visszaadja a karakter első pozícióját, amely megegyezik a fő karakterlánccal. A karakterlánc -adatok egy karakterlánc -változóban vannak hozzárendelve, és az első pozíció egy egész változóban van tárolva. A pozícióérték kinyomtatásra kerül a kód végrehajtása után.

// Belefoglalás a kimenet nyomtatásához
#befoglalni

intfő-()
{
// Inicializálja a string változót
órák::húrstrData( „Alapvető C ++ programozás”);
// Nyilvánítsa az interger változót a pozíció tárolásához
intpozíció;
// Keresés a 'C ++' karakterben
pozíció=strData.find_first_of( 'K ++' );
// Ellenőrizze a pozíció értékét
ha (pozíció> = 0)
{
// Nyomtassa ki a pozíciót, ha bármilyen karaktert talált
órák::költség << 'A karakter '' <<strData[pozíció]
<< '' megtalálta '' << 'a pozícióban' <<pozíció<< ' n';
}

Visszatérés 0;
}

Kimenet:

A fenti kód végrehajtása után a következő kimenet jelenik meg. Itt a karakter: + A húrból, K ++ 'Megtalálta a pozícióban, 7 a fő húrból, ' Alapvető C ++ programozás '.

3. példa: Keressen egy adott karaktert az adott pozíció után

Hozzon létre egy C ++ fájlt a következő kóddal, hogy egy adott karakter után keressen az adott pozíció után. A karakterlánc -adatok tárolódnak a karakterlánc -változóban, és egy adott karakterláncot keresnek a pozíció után, 13. Ha a keresési karakterlánc bármely karakterét megtaláltuk a fő karakterláncban, akkor egy pozícióérték kerül visszaadásra.

// Belefoglalás a kimenet nyomtatásához
#befoglalni

intfő-()
{
// String változó inicializálása
órák::húrstrData= 'egyél, hogy élj, ne élj, hogy megegyél';
// Az eredeti karakterlánc kinyomtatása
órák::költség << 'Az eredeti karakterlánc:' +strData<< ' n';
// Nyomtassa ki azt a pozíciót, ahol az utolsó karakter található
órák::költség<<'Az utolsó egyező karakter a következő helyen található:'
<<strData.find_first_of('nál nél',13) << ' n';
Visszatérés 0;
}

Kimenet:

A fenti kód végrehajtása után a következő kimenet jelenik meg. Itt a karakter: nak nek A húrból, nál nél 'Megtalálta a pozícióban, tizenöt a fő húrból, ' enni élni, nem élni enni '.

4. példa: Keresse meg az első egyező szám pozícióját

Hozzon létre egy C ++ fájlt a következő kóddal, és keresse meg a második vektorlista első vektorlistájának minden számát, és adja vissza az első vektorlista megfelelő számának pozícióját. Ha talál egyező argumentumot, akkor a pozíció értéke visszatér; ellenkező esetben üzenet kerül kinyomtatásra.

// Belefoglalás a kimenet nyomtatásához
#befoglalni
// A keresési adatok felvétele a vektorba
#befoglalni
// Belefoglalás a vektoros adatok használatához
#befoglalni

intfő-()
{
// Két vektorlista deklarálása
órák::vektorlista1{10,5,65,31,7};
órák::vektorlista2{2,77,5,38,32,55};
// Keresés a lista1 adatai között a listában2
autoKimenet=órák::find_first_of(lista1.kezdődik(), lista1.vége(), lista2.kezdődik(), lista2.vége());
// Olvassa el a megfelelő szám pozícióját
intpozíció=órák::távolság(lista1.kezdődik(), Kimenet);

// Ellenőrizze a list1 tetszőleges számú egyezését tetszőleges számú listával2
ha (Kimenet<lista1.vége()) {
órák::költség << 'Az első egyező szám' <<lista1[pozíció] << 'megtalálható a pozícióban' <<pozíció<< ' n';
}
más {
órák::költség << 'Nem található megfelelő szám. n';
}
}

Kimenet:

A fenti kód végrehajtása után a következő kimenet jelenik meg. Az első tömb számértéke, 5, létezik a második tömbben, és ennek a számnak a helyzete 1.

Következtetés

A find_first_of () függvény használható karakter vagy szám keresésére különböző programozási célokra. Ez a funkció használható a különböző keresési problémák megoldására. Remélem, hogy a C ++ programozó képes lesz megfelelően használni ezt a funkciót az oktatóanyag elolvasása után.