В чем заключается вопрос: Разобраться как работать со строками с C++.
Сложность : легкая .
Строки в с++ позволяют нам работать с символьными данными. Благодаря ним мы можем читать с клавиатуры текст, как-то его обрабатывать и затем, например, снова его выводить в консоль.
В С++ существует 2 типа строк.
Первый из них — это массив переменных типа char.
Если кто не помнит, то переменная типа char хранит в себе 1 символ. Размер такой строки равняется размеру массива — 1, т.к. последний элемент содержит NULL (пустая переменная без значения), который обозначает символ конца строки.
Пример :
char str[50]; cin >> str ; cout << str << endl;
Ну то есть тут мы объявили строку с названием str, а её максимальная длинна 50 символов.
Второй из вариантов, более удобный — это специальный класс string
Для его работы необходимо в начале программы подключить заголовочный файл string:
#include <string>
Для создания строки вам необходимо в начале программы написать using namespace std;
Пример :
#include <iostream> #include <string> using namespace std; int main() { string str; cin >> str ; cout << str << endl; }
Примерно тоже самое, но у 2 способа есть свои плюсы, не надо вводить размер и есть функции для работы :
Список функций :
string s ; string str; 1)s.append(str) - добавляет в конец строки строку str. Можно писать как s.append(переменная),так и s.append("строка"); 2)s.assign(str) - присваивает строке s значение строки str. Аналогично записи s=str; 3)int i=s.begin() - записывает в i индекс первого элемента строки 4)int i=s.end() - аналогично, но последнего 5)s.clear() - как следует из названия, очищает строку. Т.е. удаляет все элементы в ней 6)s.compare(str) -сравнивает строку s со строкой str и возвращает 0 в случае совпадение (на самом деле сравнивает коды символов и возвращает из разность) 7)s.copy(куда, сколько, начиная с какого) - копирует из строки s в куда (там может быть как строка типа string, так и строка типа char). Последние 2 параметра не обязательные (можно использовать функцию с 1,2 или 3 параметрами) 8)bool b=s.empty() - если строка пуста, возвращает true, иначе false 9)s.erase(откуда, сколько) удаляет n элементов с заданной позиции 10)s.find(str,позиция) - ищет строку str начиная с заданной позиции 11)s.insert(позиция,str, начиная, beg, count) - вставляет в строку s начиная с заданной позиции часть строки str начиная с позиции beg и вставляя count символов 12)int len=s.length() - записывает в len длину строки 13)s.push_back(symbol) - добавляет в конец строки символ 14)s.replace(index, n,str) - берет n первых символов из str и заменяет символы строки s на них, начиная с позиции index 15)str=s.substr(n,m) - возвращает m символов начиная с позиции n 16)s.swap(str) меняет содержимое s и str местами. 17)s.size() - возвращает число элементов в строке.
Вот это большинство функции для работы со строками, их мы и будем использовать в наших задачах.