Академический Документы
Профессиональный Документы
Культура Документы
Строки
#include "stdafx.h"
#include <iostream>
using namespace std;
2
Функция Пояснение
Копирование строк
Конкатенация строк
Сравнение строк
Обработка символов
3
Функция Пояснение
isalnum(c) возвращает значение true, если с является буквой или цифрой, и false в
других случаях
Функции поиска
Функции преобразования
Метод getline считывает из входного потока n-1 символов или менее и записывает
их в строковую переменную s. Символ перевода строки также считывается (удаляется) из
входного потока, но не записывается в строковую переменную, вместо него размещается
завершающий 0. Метод get работает аналогично, но оставляет в потоке символ перевода
строки.
Не обращайтесь к методу get с двумя аргументами два раза подряд, не удалив \n из
входного потока. Возможное решение этой проблемы - вызов метода get без параметров
(cin.get()).
Более простое решение – использовать метод getline, который после прочтения
строки не оставляет во входном потоке символ \n.
Кроме того, в стандартной библиотеке С++ имеется файл <string>, подключение которого
позволяет использовать тип данных string. Ниже приведены несколько примеров:
Создание строк:
#include <string>
using namespace std;
string str1 = "Привет, мир!";
string str2("Это еще одна строка.");
Конкатенация строк:
string result = str1 + " " + str2;
Изменение строки:
result += " Добавим еще текст.";
Сравнение строк:
if (str1 == str2) {
// строки равны
} else {
// строки не равны
}
5
1. length() и size()
#include <string>
using namespace std;
string str = "Привет, мир!";
int len = str.length(); // или str.size();
Функции length() и size() возвращают длину строки. Они эквивалентны и могут быть
использованы взаимозаменяемо.
2. append() и +=
string str1 = "Привет, ";
string str2 = "мир!";
str1.append(str2); // или str1 += str2;
Функции append() и += используются для конкатенации (добавления) одной строки к
другой.
3. substr(start, length)
string str = "Привет, мир!";
string substring = str.substr(0, 7); // "Привет"
Функция substr() извлекает подстроку из строки, начиная с указанной позиции (start) и
имеющей заданную длину (length).
4. find(substring)
string str = "Привет, мир!";
size_t position = str.find("мир"); // позиция первого вхождения подстроки
Функция find() возвращает позицию (индекс) первого вхождения подстроки в строке. Если
подстрока не найдена, возвращается string::npos.
6. compare()
string str1 = "Привет, мир!";
string str2 = "Привет, мир!";
int result = str1.compare(str2); // 0, если строки равны
Функция compare() сравнивает две строки. Возвращает 0, если строки равны. Возвращает
отрицательное число, если первая строка меньше второй, и положительное, если больше.
7. c_str()
string str = "Привет, мир!";
const char* cstr = str.c_str(); // преобразовать строку в символьный массив
Функция c_str() возвращает указатель на символьный массив, представляющий строку.
8. getline(cin, variable)
#include <iostream> using namespace std; string inputString; cout << "Введите строку: "; get-
line(cin, inputString); // чтение строки с пробелами
Функция getline() используется для чтения строки с пробелами из стандартного ввода.
9. empty()
string str = "Привет, мир!"; bool isEmpty = str.empty(); // false, если строка не пуста
6
Функция empty() возвращает true, если строка пуста, и false в противном случае.