string functions c
У цьому посібнику ми обговоримо деякі популярні функції рядків у C ++, такі як підрядок getline, довжина рядка, пошук рядка, розділений рядок тощо:
С ++ має клас рядків, який використовується для послідовності символів, яка також відома як рядки. Цей клас є std :: рядок . Цей клас зберігає рядки як послідовність байтів символів і надає функції, які дозволяють нам маніпулювати, отримувати доступ до них та читати їх, а також отримувати доступ та маніпулювати окремими символами.
Запитання та відповіді на співбесіду html5 pdf
=> Завітайте сюди, щоб отримати повний курс експертів на C ++.
Що ви дізнаєтесь:
Рядові функції C ++
Рядок C ++ - це послідовність символів. Коли ми визначаємо рядки в C ++, ми використовуємо рядок
ключове слово, яке є нічим іншим, як std :: string class. Цей клас рядків підтримує різні функції: читання рядка, маніпулювання, доступ до рядка тощо, які виконують різні операції над об’єктами рядка. Деякі часто використовувані функції перелічені нижче -
Не | Функції рядка | Опис |
---|---|---|
1 | getline | Отримує рядок від потоку до рядка |
два | підстр | Отримати підрядок заданого рядка |
4 | Довжина, strlen | Отримати довжину рядка |
5 | Знайдіть | Знайдіть вміст у рядку |
6 | Стрток, підстрока з роздільником | Розділити рядок у лексемах |
getline C ++
Прототип функції: istream & getline (istream & is, string & str)
Параметри: є => об'єкт istream, з якого витягуються символи.
str => Рядковий об'єкт, який використовується для зберігання вилученого символу.
Повернене значення: Повернене значення те саме, що і 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 () для повернення довжини рядка.
Окрім цього, у нас також є метод розміру, який повертає розмір рядка. У наведеному нижче прикладі ми використали метод size для функції length (). Іншою функцією, яка повертає довжину рядка, є „strlen”. Ця функція повертає довжину рядка, позначеного символьним масивом.
Ми побачимо обидві функції одну за одною на прикладах.
довжина ()
Прототип функції: size_t length ()
Параметри: Викликається рядком, довжина якого слід з’ясувати.
Повернене значення: Повертає параметр типу size_t, який є довжиною рядка.
Опис: Ця функція знаходить довжину рядкового об'єкта, за допомогою якого він викликається.
Приклад:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; cout<<'Input string : '< Вихід:
відкрити .bin файлові вікна 10
Вхідний рядок: SoftwareTestingHelp
Довжина рядка (з методом length): 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 => Рядковий об'єкт для пошуку всередині батьківського рядка.
Повернене значення: 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
найкращий python ide mac os x

Ця програма визначає рядок як 'SoftwareTestingHelp'. За допомогою функції пошуку ми знаходимо перше входження рядка “Test” у батьківський рядок. Далі ми знаходимо появу рядка “Довідка”. Вихідні дані - це позиція входження шуканого рядка.
Розділений рядок
Розбиття рядка за допомогою роздільника або маркера є корисною операцією. У C ++, оскільки ми маємо більше одного представлення рядків, ми можемо використовувати різні підходи до розділення рядка. Тут ми обговоримо два підходи до розділення рядка.
Розбиття std :: string Object
Найпростіший підхід до розділення рядкового об’єкта - це використання функції ‘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; }
Вихід:
Це
є
програмне забезпечення
тестування
допомогти

Як показано у наведеній вище програмі, ми вказуємо роздільник, який буде використовуватися для розділення заданого рядка. У циклі ми неодноразово знаходимо появу роздільника за допомогою функції find і передаємо його функції substr і отримуємо підрядок. Потім кожен із цих отриманих токенів відображається як вихідний результат.
Розбиття масиву символів за допомогою функції strtok
Інший спосіб позначення рядка (розділення рядка за допомогою роздільника) полягає у використанні функції ‘strtok’. Нижче ми обговоримо особливості функції „strtok”.
Прототип функції: char * strtok (char str (), const char * delim)
Параметри: str () => Рядок, який потрібно розділити.
Розділити => Розділювач, на який слід розділити рядок.
Повернене значення: Повертає наступний маркер після розділення батьківського рядка.
Опис: Функція strtok розбиває даний рядок на маркери на заданих роздільниках. Цю функцію потрібно викликати в циклі, щоб ми отримали всі маркери для даного рядка. Коли більше не залишиться маркерів, функція повертає нуль.
Приклад:
#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 із підручником для буфера рядків та побудови рядків
- Функції перетворення символів C ++: char в int, char в рядок
- Функції рядка VBScript: Функції VBScript inStr, Заміна, Середнє та Обрізання
- Підручник з розділення рядків Python
- Підручник з рядків C # - Рядові методи з прикладами коду
- Функції Python
- String Array C ++: Впровадження та представлення на прикладах