12 строковых методов C ++, которые вы должны освоить сегодня
C ++ – один из самых мощных языков программирования с помощью встроенных методов для выполнения таких операций, как сортировка, поиск и обращение. Эти методы покрывают недостатки простоты использования C ++ по сравнению с другими языками программирования высокого уровня, такими как Java и Python.
В этой статье вы познакомитесь с 12 строковыми методами C ++, которые помогут вам выполнять операции со строками в части кода, который вы использовали.
Что такое строковые методы в C ++?
Методы Струнные являются предварительно встроенные функции , сохраненные в файле заголовка строки. Вы можете использовать их импортировать файл заголовка строки:
#include <string>
Рассмотрим пример строковой переменной str со значением «Добро пожаловать в MUO» для реализации этих методов.
string str = “Welcome To MUO”;
1. begin ()
Метод begin () в C ++ возвращает итератор в начало строки. Создайте итератор с помощью ключевого слова auto и сохраните начальную ссылку строковой переменной с помощью str.begin (). В приведенном ниже коде показана реализация:
auto i = str.begin();
cout<<"The first character in the string str is: "<<*i<<endl;
Выход :
The first character in the string str is: W
2. конец ()
Строковый метод end () возвращает итератор в конец строки. Этот код печатает последний символ строковой переменной:
auto i = s.end()-1;
cout<<"The last character in the string s is: "<<*i<<endl;
Выход :
The first character in the string s is: O
Вы также можете перебирать строку и печатать отдельные символы с помощью методов begin () и end () . Вот как :
for(auto i = str.begin(); i!= str.end(); i++){
cout<<*i;
}
3. push_back ()
Метод push_back () вставляет символ в конец строки. При выполнении этой операции размер строки увеличивается на 1.
str.push_back('!');
cout<<str;
Выходные данные приведенного выше кода будут иметь восклицательный знак (!) Вместе с исходной строкой:
Welcome To MUO!
Вы также можете добавить набор символов или другую строку, перебирая и добавляя ее символ за символом. Рассмотрим строковую переменную str2 со значением «Привет». Чтобы добавить эту переменную к исходной строке с помощью метода push_back () :
string str2 = " Hi there";
for(auto i = str2.begin(); i!=str2.end() ;i++){
str.push_back(*i);
}
cout<<str<<endl;
Выход :
Welcome To MUO! Hi there
4. pop_back ()
Метод pop_back () удаляет последний символ строки. Вот как вы можете попробовать этот метод со строкой str :
str.pop_back();
cout<<str<<endl;
Выход :
Welcome To MU
5. размер ()
Метод size () помогает вычислить длину строки.
cout<<"The size of the string str is "<<str.size()<<endl;
6. копия ()
Метод copy () копирует всю строку или подстроку. Он принимает три аргумента: массив символов, длину подстроки и позицию, с которой строка должна начинать копирование.
char str2[50];
str.copy(str2, 6,2);
cout<<"The value in str2: "<<str2<<endl;
Выход :
The value in str2: lcome
7. swap ()
Метод swap () помогает поменять местами две строки друг с другом. Синтаксис этого метода:
string1.swap(string2)
Этот метод принимает в качестве аргумента строковую переменную. Вы можете запустить этот метод для строки, которую хотите поменять местами, и распечатать, чтобы проверить результаты.
string str = “Welcome To MUO”;
string str2 = "Hi There";
str.swap(str2);
cout<<"String 1 str: "<<str<<endl;
cout<<"String 2 str2: "<<str2<<endl;
Выход :
String 1 str: Hi There
String 2 str2: Welcome To MUO
8. getline ()
Метод getline () хранит поток символов, принимаемых во время ввода. Этот метод принимает два аргумента: cin и строковую переменную.
string s;
cout<<"Enter a string"<<endl;
getline(cin,s);
cout<<s<<endl;
Выход :
Enter a string
Welcome to MUO
9. resize ()
Метод resize () изменяет длину строки, динамически увеличивая или уменьшая ее. Он принимает один аргумент: длину, до которой вы хотите изменить размер своей строки.
str.resize(10);
cout<<"The value of str after resizing it: "<<str<<endl;
Выход :
The value of str after resizing it: Welcome To
10. емкость ()
Метод capacity () в C ++ возвращает емкость, выделенную для строки. Он может быть равен длине строки или больше.
cout<<"The capacity of the string is "<<str.capacity()<<endl;
11. stoi ()
Метод stoi () помогает преобразовать число в виде строки в его числовое значение. Он принимает один параметр: строковую переменную. Если ваша строковая переменная содержит другие символы, кроме чисел, она отфильтрует их. Но для того, чтобы этот метод работал, нечисловые строковые символы должны следовать за числами. Если символы появляются перед числами, возвращается ошибка.
Прежде чем выполнять описанную выше операцию, убедитесь, что вы сохранили ее в целочисленной переменной перед ее печатью. Вот пример:
string s1 = "123";
int v1 = stoi(s1);
cout<<"Stoi() for s1: "<<v1<<endl;
string s2 = "123 pass";
int v2 = stoi(s2);
cout<<"Stoi() for s2: "<<v2;
Выход :
Stoi() for s1: 123
Stoi() for s2: 123
12. rbegin () и rend ()
Метод rbegin () возвращает ссылку обратного итератора на строку в конце. Точно так же метод rend () возвращает ссылку начального итератора на строку в начале.
auto beg = str.rbegin();
auto end = str.rend()-1;
cout<<"The last character is: "<<*beg<<endl;
cout<<"The first character is: "<<*end<<endl;
Вы также можете распечатать обратную строку с помощью методов rbegin () и rend () . Для этого вы можете перебрать строку и напечатать ее символ за символом.
for(auto i=str.rbegin(); i!=str.rend(); i++){
cout<<*i;
}
Выход :
The last character is: O
The first character is: W
OUM oT emocleW
Сделайте шаг вперед в изучении C ++
Теперь, когда вы научились реализовывать различные строковые методы строкового заголовка, вы можете быть уверены, что исследуете больше встроенных методов в заголовочных файлах C ++. От sort () и reverse () до binary_search () мало того, что C ++ STL не может выполнить в мире кодирования.
Потратить время на изучение стандартной библиотеки шаблонов – отличное вложение для программистов на C ++ всех уровней. Стандартная библиотека шаблонов предоставляет встроенные функции, общие структуры данных и удобные алгоритмы, которые делают программирование простым и эффективным.