Како се користи функција финд_фирст_оф () у Ц ++

How Use Find_first_of Function C



У Ц ++ постоје различите уграђене функције за рад са подацима о низу. Тхе финд_фирст_оф () функција се користи за проналажење локације првог појављивања наведеног знака. Ова функција враћа позицију првог појављивања низа која ће бити дата као вредност аргумента ове функције. Различите употребе ове функције за претраживање низа у Ц ++ су објашњене у овом водичу.

Предуслов

Пре него што проверите примере овог водича, морате да проверите да ли је компајлер г ++ инсталиран или није у систему. Ако користите Висуал Студио Цоде, инсталирајте потребна проширења за компајлирање изворног кода Ц ++ за креирање извршног кода. Овде је апликација Висуал Студио Цоде коришћена за компајлирање и извршавање кода Ц ++.







Карактеристике функције финд_фирст_оф ()

Тхе финд_фирст_оф () функција може вратити различите врсте променљивих на основу вредности првог аргумента. Вратиће позицију претраживања низа ако је прва вредност аргумента стринг. Вратиће позицију претраживања низа знакова ако је у првом аргументу дат показивач на низ знакова. Вратиће бафер позицију ако је дата вредност трећег аргумента. Вратиће позицију карактера ако је знак дат у првом аргументу и ако постоји у главном низу. Почетна позиција претраживања постављена је у другом аргументу ове функције. Различита синтакса ове функције дата је у наставку.



Синтакса

стринг сизе_т финд_фирст_оф (цонст стринг & стр, сизе_т пос = 0) цонст;
ц-стринг сизе_т финд_фирст_оф (цонст цхар* с, сизе_т пос = 0) цонст;
бафер сизе_т финд_фирст_оф (цонст цхар* с, сизе_т пос, сизе_т н) цонст;
карактер сизе_т финд_фирст_оф (цхар ц, сизе_т пос = 0) цонст;



Пример 1: Претражите и замените одређени знак низа

Следећи пример приказује начин претраживања позиције одређеног знака у низу. Направите Ц ++ датотеку са следећим кодом да бисте заменили одређени знак другим знаком. У коду, финд_фирст_оф () функција је коришћена за претраживање свих позиција одређеног знака у низу и замену знакова другим знаком помоћу петље. Оригинални низ и замењени низ биће одштампани након извршавања кода.





// Укључи за штампање излаза
#инцлуде
// Укључи за употребу сизе_т
#инцлуде

интглавни()
{
// Иницијализација стринг променљиве
сати::низстрДата(„Добро дошли у ЛинукХинт“);
// Штампа оригинални низ
сати::цена << „Оригинални низ је:“ +стрДата<< ' н';
// Сазнајте сву позицију знака 'и'
сати::сизе_тсеарцхЛист=стрДата.финд_фирст_оф('ја');
// Поновите петљу да бисте заменили све 'и' са '@'
док (сеарцхЛист!=сати::низ::нпос)
{
стрДата[сеарцхЛист] = '@';
сеарцхЛист=стрДата.финд_фирст_оф('ја', сеарцхЛист+1);
}
// Одштампајте измењени низ
сати::цена << 'Модификовани низ је:' +стрДата<< ' н';

повратак 0;
}

Излаз:

Следећи излаз ће се појавити након извршавања горњег кода.



Пример 2: Претражите прву позицију знакова за претрагу

Направите Ц ++ датотеку са следећим кодом да бисте претражили позицију низа са више знакова и вратили прву позицију знака која се подудара са главним низом. Низ података је додељен у стринг променљивој, а прва позиција је смештена у променљивој целог броја. Вредност позиције биће одштампана након извршавања кода.

// Укључи за штампање излаза
#инцлуде

интглавни()
{
// Иницијализација стринг променљиве
сати::низстрДата( „Основно програмирање на Ц ++“);
// Проглашавамо интергер променљиву за складиштење позиције
интположај;
// Претражите знак 'Ц ++'
положај=стрДата.финд_фирст_оф( 'К ++' );
// Проверите вредност позиције
ако (положај> = 0)
{
// Одштампајте позицију ако је било који знак пронађен
сати::цена << 'Карактер '' <<стрДата[положај]
<< '' је пронашао' << 'на позицији' <<положај<< ' н';
}

повратак 0;
}

Излаз:

Следећи излаз ће се појавити након извршавања горњег кода. Овде, лик, ‘ + 'Од низа,' К ++ “Је нашао на положају, 7 главног низа, ' Основно програмирање на Ц ++ '.

Пример 3: Претражите одређени знак након одређене позиције

Креирајте Ц ++ датотеку са следећим кодом да бисте претражили одређени знак након одређене позиције. Подаци о низу се чувају у променљивој стринга, а одређени низ се претражује након позиције, 13. Ако је било који знак низа за претраживање пронађен у главном низу, тада ће се вратити вредност позиције.

// Укључи за штампање излаза
#инцлуде

интглавни()
{
// Иницијализација стринг променљиве
сати::низстрДата= 'јести да би живео, а не живети да би јео';
// Штампа оригинални низ
сати::цена << „Оригинални низ је:“ +стрДата<< ' н';
// Штампа позицију на којој је последњи знак пронађен
сати::цена<<'Последњи одговарајући знак пронађен на позицији:'
<<стрДата.финд_фирст_оф('у',13) << ' н';
повратак 0;
}

Излаз:

Следећи излаз ће се појавити након извршавања горњег кода. Овде, лик, ‘ до 'Од низа,' ат “Је нашао на положају, петнаест главног низа, ' јести да би живео, а не живети да би јео '.

Пример 4: Претражите позицију првог одговарајућег броја

Креирајте Ц ++ датотеку са следећим кодом да бисте претражили сваки број прве листе вектора у другој листи вектора и вратили позицију одговарајућег броја прве листе вектора. Ако се пронађе одговарајући аргумент, вредност позиције ће бити враћена; у супротном ће се одштампати порука.

// Укључи за штампање излаза
#инцлуде
// Укључи за претраживање података у вектору
#инцлуде
// Укључи за употребу векторских података
#инцлуде

интглавни()
{
// Проглашавамо листу два вектора
сати::векторлист1{10,5,65,31,7};
сати::векторлист2{2,77,5,38,32,55};
// Претражујемо податке листе1 у листи2
аутоизлаз=сати::финд_фирст_оф(лист1.започети(), лист1.крај(), лист2.започети(), лист2.крај());
// Прочитајте положај одговарајућег броја
интположај=сати::удаљеност(лист1.започети(), излаз);

// Проверите да ли се било који број листе1 подудара са било којим бројем листе2
ако (излаз<лист1.крај()) {
сати::цена << „Први одговарајући број“ <<лист1[положај] << 'пронађено на позицији' <<положај<< ' н';
}
елсе {
сати::цена << 'Није пронађен одговарајући број. н';
}
}

Излаз:

Следећи излаз ће се појавити након извршавања горњег кода. Вредност броја 5 првог низа постоји у другом низу и позиција овог броја је 1.

Закључак

Функција финд_фирст_оф () може се користити за претраживање знака или броја у различите сврхе програмирања. Ова функција се може користити за решавање различитих проблема претраживања. Надам се да ће програмер на Ц ++ моћи да правилно користи ову функцију након читања овог водича.