Paano gamitin ang find_first_of () function sa C ++

How Use Find_first_of Function C



Ang iba't ibang mga built-in na pag-andar ay umiiral sa C ++ upang gumana sa data ng string. Ang find_first_of () Ginagamit ang pagpapaandar upang hanapin ang lokasyon ng unang paglitaw ng tinukoy na character. Ibinabalik ng pagpapaandar na ito ang posisyon ng unang paglitaw ng string na ibibigay bilang halaga ng argumento ng pagpapaandar na ito. Ang iba't ibang paggamit ng pagpapaandar na ito para sa paghahanap ng string sa C ++ ay naipaliwanag sa tutorial na ito.

Paunang kinakailangan

Bago suriin ang mga halimbawa ng tutorial na ito, kailangan mong suriin ang naka-install na g ++ compiler o wala sa system. Kung gumagamit ka ng Visual Studio Code, pagkatapos ay i-install ang mga kinakailangang extension upang maipon ang C ++ source code upang likhain ang maipapatupad na code. Dito, ang application ng Visual Studio Code ay ginamit upang makatipon at maipatupad ang C ++ code.







Mga tampok ng function na find_first_of ()

Ang find_first_of () Maaaring ibalik ng pagpapaandar ang iba't ibang mga uri ng mga variable batay sa halaga ng unang argumento. Ibabalik nito ang posisyon ng paghahanap ng string kung ang unang halaga ng argument ay isang string. Ibabalik nito ang posisyon ng paghahanap ng string ng character kung ang pointer sa isang hanay ng mga character ay ibinigay sa unang argumento. Ibabalik nito ang posisyon ng buffer kung ang halaga ng pangatlong argumento ay ibinigay. Ibabalik nito ang posisyon ng character kung ang isang character ay ibinigay sa unang argumento at mayroon ito sa pangunahing string. Ang panimulang posisyon ng paghahanap ay nakatakda sa pangalawang argumento ng pagpapaandar na ito. Ang iba't ibang syntax ng pagpapaandar na ito ay ibinibigay sa ibaba.



Syntax

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



Halimbawa 1: Paghahanap at palitan ang partikular na katangian ng isang string

Ipinapakita ng sumusunod na halimbawa ang paraan upang maghanap sa posisyon ng partikular na character sa isang string. Lumikha ng isang C ++ file na may sumusunod na code upang mapalitan ang partikular na character sa isa pang character. Sa code, ang find_first_of () Ginamit ang pagpapaandar upang maghanap ng lahat ng mga posisyon ng isang partikular na character sa isang string at palitan ang mga character ng isa pang character sa pamamagitan ng paggamit ng loop. Ang orihinal na string at ang pinalitan na string ay mai-print pagkatapos ipatupad ang code.





// Isama para sa pagpi-print ng output
# isama
// Isama para sa paggamit ng size_t
# isama

intpangunahing()
{
// Initialize a string variable
oras::lubidstrData('Maligayang pagdating sa LinuxHint');
// I-print ang orihinal na string
oras::gastos << 'Ang orihinal na string ay:' +strData<< ' n';
// Alamin ang lahat ng posisyon ng character na 'i'
oras::size_tlistahan ng paghahanap=strDatahanapin_nguna_ng('ako');
// Iterate ang loop upang mapalitan ang lahat ng 'i' ng '@'
habang (listahan ng paghahanap!=oras::lubid::npos)
{
strData[listahan ng paghahanap] = '@';
listahan ng paghahanap=strDatahanapin_nguna_ng('ako', searchList+1);
}
// I-print ang binagong string
oras::gastos << 'Ang binagong string ay:' +strData<< ' n';

bumalik ka 0;
}

Output:

Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang code sa itaas.



Halimbawa 2: Maghanap sa unang posisyon ng mga character na naghahanap

Lumikha ng isang C ++ file na may sumusunod na code upang maghanap ang posisyon ng isang string ng maraming mga character at ibalik ang unang posisyon ng character na tumutugma sa pangunahing string. Ang isang data ng string ay naitalaga sa isang variable ng string, at ang unang posisyon ay nakaimbak sa isang variable na integer. Ang halaga ng posisyon ay mai-print pagkatapos maipatupad ang code.

// Isama para sa pagpi-print ng output
# isama

intpangunahing()
{
// Initialize the string variable
oras::lubidstrData( 'Pangunahing Programming C ++');
// Ideklara ang variable ng interger upang maiimbak ang posisyon
intposisyon;
// Search the character 'C ++'
posisyon=strDatahanapin_nguna_ng( 'K ++' );
// Suriin ang halaga ng posisyon
kung (posisyon> = 0)
{
// I-print ang posisyon kung may natagpuang anumang character
oras::gastos << 'Ang tauhan' ' <<strData[posisyon]
<< '' ay natagpuan ' << 'sa posisyon' <<posisyon<< ' n';
}

bumalik ka 0;
}

Output:

Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang code sa itaas. Dito, ang tauhan, ‘ + 'Ng string,' K ++ 'Ay natagpuan sa posisyon, 7 ng pangunahing string, ' Pangunahing Programming C ++ '.

Halimbawa 3: Maghanap ng isang partikular na character pagkatapos ng partikular na posisyon

Lumikha ng isang C ++ file na may sumusunod na code upang maghanap ng isang partikular na character pagkatapos ng partikular na posisyon. Ang isang data ng string ay nakaimbak sa variable ng string, at ang isang partikular na string ay hinanap pagkatapos ng posisyon, 13. Kung ang anumang character ng string na naghahanap ay natagpuan sa pangunahing string, pagkatapos ay ibabalik ang isang halaga ng posisyon.

// Isama para sa pagpi-print ng output
# isama

intpangunahing()
{
// Initialize a string variable
oras::lubidstrData= 'kumain upang mabuhay, hindi mabuhay upang kumain';
// I-print ang orihinal na string
oras::gastos << 'Ang orihinal na string ay:' +strData<< ' n';
// I-print ang posisyon kung saan natagpuan ang huling karakter
oras::gastos<<'Ang huling katugmang character na matatagpuan sa posisyon:'
<<strDatahanapin_nguna_ng('sa',13) << ' n';
bumalik ka 0;
}

Output:

Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang code sa itaas. Dito, ang tauhan, ‘ sa 'Ng string,' sa 'Ay natagpuan sa posisyon, labinlimang ng pangunahing string, ' kumain upang mabuhay, hindi mabuhay upang kumain '.

Halimbawa 4: Maghanap sa posisyon ng unang tumutugma na numero

Lumikha ng isang C ++ file na may sumusunod na code upang maghanap sa bawat numero ng unang listahan ng vector sa pangalawang listahan ng vector at ibalik ang posisyon ng tumutugmang numero ng unang listahan ng vector. Kung may nahanap na katugmang argumento, ibabalik ang halaga ng posisyon; kung hindi man, ang isang mensahe ay mai-print.

// Isama para sa pagpi-print ng output
# isama
// Isama para sa paghahanap ng data sa vector
# isama
// Isama para sa paggamit ng data ng vector
# isama

intpangunahing()
{
// Ideklara ang dalawang listahan ng vector
oras::vectorlistahan1{10,5,65,31,7};
oras::vectorlistahan2{2,77,5,38,32,55};
// Search the data of list1 into the list2
awtomatikooutput=oras::hanapin_nguna_ng(listahan1.magsimula(), listahan1.magtapos(), listahan2.magsimula(), listahan2.magtapos());
// Basahin ang posisyon ng tumutugmang numero
intposisyon=oras::distansya(listahan1.magsimula(), output);

// Suriin ang anumang bilang ng match1 na tugma sa anumang bilang ng list2
kung (output<listahan1.magtapos()) {
oras::gastos << 'Ang unang tumutugma na numero' <<listahan1[posisyon] << 'natagpuan sa posisyon' <<posisyon<< ' n';
}
iba pa {
oras::gastos << 'Walang nahanap na katugmang numero. n';
}
}

Output:

Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang code sa itaas. Ang halaga ng numero, 5 ng unang array, umiiral sa pangalawang array at ang posisyon ng bilang na ito ay 1.

Konklusyon

Ang function na find_first_of () ay maaaring magamit upang maghanap ng isang character o numero para sa iba't ibang mga layunin sa programa. Ang pagpapaandar na ito ay maaaring gamitin para sa paglutas ng iba't ibang mga problema sa paghahanap. Inaasahan kong ang C ++ programmer ay maaaring magamit nang maayos ang pagpapaandar na ito pagkatapos basahin ang tutorial na ito.