string functions c
В този урок ще обсъдим някои от популярните функции на низове в C ++, като подстринг на getline, дължина на низа, намиране на низове, разделен низ и т.н .:
C ++ има низ клас, който се използва за поредица от символи, който е известен също като низове. Този клас е std :: низ . Този клас съхранява низовете като последователност от байтове на символи и предоставя функции, които ни позволяват да манипулираме, да осъществяваме достъп и да четем низовете, както и да осъществяваме достъп и да манипулираме единични символи.
е oculus rift съвместим с ps4
=> Посетете тук за пълния курс на C ++ от експерти.
Какво ще научите:
С ++ низови функции
С ++ низът е последователност от символи. Когато дефинираме низове в C ++, използваме низ
ключова дума, която не е нищо друго освен клас std :: string. Този низ клас поддържа различни функции от четене на низ, манипулиране, достъп до низ и др., Които извършват различни операции върху обекти на низове. Някои често използвани функции са изброени по-долу -
Не | Струнни функции | Описание |
---|---|---|
един | getline | Получава реда от поток към низ |
две | подстр | Вземете подниз от даден низ |
4 | Дължина, strlen | Вземете дължината на низа |
5 | намирам | Намерете съдържание в низ |
6 | Strtok, substr с разделител | Разделен низ в символи |
getline C ++
Прототип на функция: istream & getline (istream & is, string & str)
Параметър (и): is => istream обект, от който се извличат символите.
str => String обект, който се използва за съхраняване на извлечен символ.
Възвръщаема стойност: Връщаната стойност е същата като istream. Вътрешно изпълнението на getline задава определени вътрешни флагове, както следва.
флаг | Описание на грешката |
---|---|
eofbit | Достигнат е край на източника на знака |
неуспешен бит | Входът не може да се тълкува като валидно текстово представяне на обекта от този тип |
badbit | Всяка друга грешка с изключение на горните две |
Описание: getline е стандартна библиотечна функция. Тази функция се използва за четене на ред или низ от стандартен входен поток като istream. Редовете или низовете се четат, докато се срещне „ n“, което се счита за разграничителен знак.
Като различна версия на getline може да се посочи трети параметър “char delim”. Това е разделител, посочен изрично. В тази функция ред на текст или низ ще се чете, докато не се срещне посоченият разделител.
Дадено по-долу е прост пример за демонстриране на използването на getline.
Пример:
#include #include using namespace std; int main() { string mystr; cout<<'Enter the input string:'< Изход:
Въведете входния низ:
C ++ уроци
Въведохте: уроци по C ++

В горния пример четем входен низ, използвайки функцията getline. Имайте предвид, че въведените низове или текст се четат в низ обект mystr, докато се срещне ‘ n’.
C ++ подстр
Прототип на функция: низ substr (size_t startpos, size_t endpos)
Параметър (и): startpos => Начална позиция, от която трябва да се извлече поднизът.
endpos => Крайна позиция на подниза.
Възвръщаема стойност: Връща низ, който е подниз от родителския низ.
Описание: Тази функция връща подниз от даден низ. Функцията приема началните и крайните позиции като параметри и след това връща последователността от символи между тези позиции.
Пример:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = mystr.substr(0,8); cout<<'Input string : '< Изход:
Входен низ: SoftwareTestingHelp
Подниз (0,8): Софтуер

Дължина на C ++
Дължината на низа е броят на символите, присъстващи в низа. Представянето на обект std :: string на низове в C ++ използва функциите length (), за да върне дължината на низа.
какво е торент файл и как да го отворя
Освен това имаме и метод за размер, който връща размера на низа. Използвахме метода за размер в примера, показан по-долу за функцията length (). Друга функция, която връща дължината на низа, е „strlen“. Тази функция връща дължината на низа, обозначен със символен масив.
Ще видим двете функции една по една с примери.
дължина ()
Прототип на функция: size_t дължина ()
Параметър (и): Извиква се от низ, чиято дължина трябва да бъде открита.
Възвръщаема стойност: Връща параметър тип size_t, който е дължината на низа.
Описание: Тази функция намира дължината на низовия обект, с който се извиква.
Пример:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; cout<<'Input string : '< Изход:
Входен низ: SoftwareTestingHelp
Дължината на низа (с метода за дължина) е: 19
Размерът на низа (с метода за размер) е: 19

В горната програма използваме дължината, както и функциите за размер на std :: string, които връщат съответно дължината и размера на низовия обект. Тъй като дължината и размерът връщат броя символи в низа, получаваме същия изход.
strlen ()
Прототип на функция: size_t strlen (const char * str);
Параметър (и): str => Указател на низ с край до нула, чиято дължина трябва да бъде открита.
Възвръщаема стойност: R eturns size_t стойност, обозначаваща дължината на низа str.
Описание: Функцията strlen () връща дължината на завършващия с нула низ. Низът, който се приема като параметър от функцията strlen, е масив от символи с край до нула.
Пример:
#include #include using namespace std; int main() { char mystr1() = 'This a our first string'; char mystr2() = 'This is our second string'; int len_mystr1 = strlen(mystr1); int len_mystr2 = strlen(mystr2); cout << 'Length of mystr1 = ' << len_mystr1 << endl; cout << 'Length of mystr2 = ' << len_mystr2 << endl; if (len_mystr1> len_mystr2) cout << 'mystr1 is longer than mystr2'; else if (len_mystr1 < len_mystr2) cout << 'mystr2 is longer than mystr1'; else cout << 'mystr1 and mystr2 are equal in length'; return 0; }
Изход:
Дължина на mystr1 = 23
Дължина на mystr2 = 25
mystr2 е по-дълъг от mystr1

В горната програма дефинирахме два различни низа и откриваме тяхната индивидуална дължина с помощта на функцията strlen. След това сравняваме дължината на двата струни и определяме дали струните са равни или неравни.
Намерете C ++
Прототип на функция: size_t find (низ mysub)
Параметър (и): mysub => String обект за намиране в родителския низ.
Възвръщаема стойност: size_t => Първа позиция на подниза в родителския низ
Описание: Функцията за търсене на низа се използва за намиране на позицията на подниза в родителския низ. Тази функция се извиква от родителския низ и подниз, чиято позиция трябва да бъде намерена, се предава като параметър. Ако поднизът не присъства, се връща празна позиция.
Пример:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = 'Test'; size_t pos = mystr.find(mysub); if (pos != string::npos) cout << 'First occurrence of string '< Изход:
Първо появяване на низ Тест: 8
Първа поява на помощ за низ: 15

Тази програма определя низ като “SoftwareTestingHelp”. Използвайки функцията за намиране, откриваме първото появяване на низа „Test“ в родителския низ. След това намираме появата на низа „Помощ“. Изходът е позицията на появата на търсения низ.
Разделен низ
Разделянето на низ с разделител или жетон е полезна операция. В C ++, тъй като имаме повече от едно представяне на низове, можем да използваме различни подходи за разделяне на низ. Тук ще обсъдим два подхода за разделяне на низ.
Разделяне на обект std :: string
Най-лесният подход за разделяне на низ обект е да се използва функцията ‘substr’ на обекта и да се предостави разделителя като крайна позиция, така че да получим подниза. По този начин можем да разделим низа на разделител, докато не преминем целия низ.
Нека да видим примера по-долу, който първо намира позицията на разделителя с помощта на функцията „намери“, след това намира подниза и накрая извежда всеки от жетоните.
#include #include using namespace std; int main() { string mystr = 'This_is_software_testing_help'; string delimiter = '_'; size_t pos = 0; string token; while ((pos = mystr.find(delimiter)) != std::string::npos) { token = mystr.substr(0, pos); cout << token << endl; mystr.erase(0, pos + delimiter.length()); } cout << mystr<< endl; }
Изход:
Това
е
софтуер
тестване
помогне

Както е показано в горната програма, ние посочваме разделител, който ще се използва за разделяне на дадения низ. В цикъл многократно намираме появата на разделител, използвайки функцията за търсене, и го предаваме на функцията substr и извличаме подниза. След това всеки от тези получени символи се показва като изход.
Разделяне на масив от символи с помощта на функцията strtok
Друг начин за токенизиране на низ (разделяне на низ с помощта на разделител) е чрез използване на функцията ‘strtok’. Ще обсъдим спецификите на функцията ‘strtok’ по-долу.
списък с фалшиви имейл адреси за използване
Прототип на функция: char * strtok (char str (), const char * delim)
Параметър (и): str () => Низът за разделяне.
Разделител => Разделител, на който низът трябва да бъде разделен.
Възвръщаема стойност: Връща следващия маркер след разделяне на родителския низ.
Описание: Функцията strtok разделя дадения низ на символи на дадени разделители. Тази функция трябва да бъде извикана в цикъл, така че да получим всички символи за даден низ. Когато не останат повече маркери, функцията връща null.
Пример:
#include #include using namespace std; int main() { char mystr() = 'This_is_software_testing_help'; char *token = strtok(mystr, '_'); while (token != NULL) { cout< Изход:
Това
е
софтуер
тестване
помогне

Имайте предвид, че в тази програма ние използваме функцията strtok, която приема низ и разделител като аргументи. След това разделя низа в маркера въз основа на посочения разделител и показва отделните маркери.
Заключение
Видяхме някои от основните важни функции, използвани за низове C ++ в този урок.
Обсъдихме функциите за четене на входен низ, намиране на низ, подниз на родителския низ, дължина на низа, разделяне на низ и др., Заедно с техните вариации. Тези функции ни помагат да четем и манипулираме низовете ефективно.
В следващия урок ще видим подробно някои от функциите за преобразуване, използвани с низа C ++.
=> Посетете тук, за да видите цялата серия C ++ за обучение за всички.
Препоръчително четене
- Функции на низовете на Python
- Java String с String Buffer и String Builder Tutorial
- Функции за преобразуване на символи C ++: char в int, char в низ
- Функции на низове VBScript: Функции VBScript inStr, заместване, средата и подрязване
- Урок за разделяне на низове на Python
- Инструкция за C # String - Методи за низове с примери за кодове
- Функции на Python
- String Array C ++: Внедряване и представяне с примери