Предуслов
Пре него што проверите примере овог водича, морате да проверите да ли је компајлер г ++ инсталиран или није у систему. Ако користите Висуал Студио Цоде, инсталирајте потребна проширења за компајлирање изворног кода Ц ++ за креирање извршног кода. Овде је апликација Висуал Студио Цоде коришћена за компајлирање и извршавање кода Ц ++.
Синтакса
стринг субстр (сизе_т пос = 0, сизе_т лен = нпос) цонст;
Овде први аргумент садржи почетну позицију одакле ће подниз започети, а други аргумент садржи дужину подниза. Функција ће вратити подниз ако су дати ваљани почетни положај и дужина. Различите употребе ове функције показале су се у следећем делу овог водича.
Пример 1: Једноставна употреба субстр ()
Следећи пример приказује најчешће и једноставно коришћење функције субстр (). Креирајте Ц ++ датотеку са следећим кодом да бисте генерисали подниз од вредности низа. Низ више речи је додељен променљивој стринга. Затим, ваљана почетна позиција и дужина подниза имају вредности аргумента функције субстр (). Оригинални низ и подниз ће бити одштампани након извршавања кода.
// Укључује неопходне библиотеке
#инцлуде
#инцлуде
интглавни() {
// Дефинисање стринг променљиве
сати::низоригиналстр=„Добро дошли у Линукхинт“;
// исећи подниз помоћу субстр ()
сати::низневстр=оригиналстр.субстр (Једанаест,9);
// Штампа оригинални низ
сати::цена <<„Оригинални низ је:“ <<оригиналстр<< ' н';
// Штампа подниз
сати::цена <<'Подниз је:' <<невстр<< ' н';
повратак 0;
}
Излаз:
Према коду, оригинални низ је „ Добро дошли у ЛинукХинт ‘. 11 је дао почетну позицију подниза која је позиција знака „Л“, а 9 је дао вредност дужине подниз. ' ЛинукХинт ‘Се вратио као излаз функције субстр () након извршавања кода.
Пример 2: Коришћење субстр () на основу положаја одређеног низа
Следећи код ће генерисати подниз након претраживања позиције одређеног низа. Направите Ц ++ датотеку са следећим кодом да бисте је тестирали. Вредност низа више речи је дефинисана у коду. Затим се позиција одређеног низа претражује у главном низу помоћу функције финд (). Функција субстр () је коришћена за генерисање подниза почевши од почетка низа до вредности позиције коју ће функција финд () вратити.
// Укључује неопходне библиотеке#инцлуде
#инцлуде
Користећи именски просторсати;
интглавни()
{
сати::низстрДата= 'Волим програмирање на Ц ++';
// Хајде да пронађемо позицију '-' помоћу стр.финд ()
интположај=стрДата.пронаћи('програмирање');
// Добићемо подниз до овог обрасца
сати::низневстр=стрДата.субстр(0, положај);
сати::цена <<стрДата<< ' н';
сати::цена <<невстр<< ' н';
повратак 0;
}
Излаз:
Према коду, главна вредност низа је, Волим програмирање на Ц ++ а вредност низа за претраживање је „ програмирање ' који постоји у главном низу. Дакле, излаз је: Волим Ц ++ ‘Након извршавања кода.
Пример 3: Коришћење субстр () са руковањем изузетком
Функција субстр () је коришћена са руковањем изузецима у следећем коду. Изузетак ће бити генерисан ако је неважећа почетна позиција дата у функцији субстр (). Направите Ц ++ датотеку са следећим кодом да бисте је тестирали. У блоку три додељена је вредност низа једне речи, а неважећа почетна позиција је коришћена у функцији субстр () која ће покренути изузетак и одштампати поруку о грешци.
// Укључује неопходне библиотеке#инцлуде
#инцлуде
интглавни() {
покушати{
// Дефинисање стринг променљиве
сати::низоригиналстр='Линукхинт';
// исећи подниз помоћу субстр ()
сати::низневстр=оригиналстр.субстр (Једанаест,9);
// Штампа подниз
сати::цена <<'Подниз је:' <<невстр<< ' н';
}
улов (цонстсати::ван домета) {
сати::церр << 'Позиција је ван домета. н';
}
повратак 0;
}
Излаз:
Према коду, главна вредност низа је, ЛинукХинт а вредност почетне позиције је 11 која не постоји. Дакле, изузетак је генерисан, а порука о грешци је одштампана након извршавања кода.
Пример 4: Коришћење субстр () за раздвајање низа
Следећи пример приказује употребу функције субстр () за дељење низа на основу граничника. Функција финд () је коришћена за претраживање позиције разграничења, а функција ерасе () је коришћена за уклањање подељеног низа са делимитером из главног низа. Петља „вхиле“ користила се за проналажење свих позиција разграничитеља у главном низу и складиштење подељене вредности у векторски низ. Затим су одштампане вредности векторског низа.
// Укључује неопходне библиотеке#инцлуде
#инцлуде
#инцлуде
интглавни(){
// Дефинишите низ
сати::низстрингДата= 'ПХП: Ц ++: Питхон:';
// Дефинишите сепаратор
сати::низсепаратор= ':';
// Проглашавамо векторску променљиву
сати::векторјезици{};
// Проглашавамо целобројну променљиву
интположај;
// Проглашавамо стринг променљиву
сати::низоутстр;
/ *
Поделите низ помоћу функције субстр ()
и додавање раздвојене речи у вектор
* /
док ((положај=стрингДата.пронаћи(сепаратор)) !=сати::низ::нпос) {
језици.потисне(стрингДата.субстр(0, положај));
стрингДата.избрисати(0, положај+сепаратор.дужине());
}
// Одштампајте све раздвојене речи
за (цонст ауто &оутстр:језици) {
сати::цена <<оутстр<<сати::ендл;
}
повратак 0;
}
Излаз:
Према коду, главна вредност низа је ПХП: Ц ++: Питхон а вредност граничника је „ : ' . Следећи излаз ће се појавити након извршавања горње скрипте.
Закључак
Главна сврха коришћења функције субстр () је да преузме подниз из низа помињући почетну позицију и дужину подниза. Различите употребе ове функције објашњене су у овом водичу коришћењем више примера који помажу новим корисницима Ц ++ да је правилно користе у свом коду.