Строки string
Основы работы
Для работы со строками необходимо подключить библиотеку.
#include <string>
Создание строки и считывание её содержимого из консоли.
cout << "Input string:" << endl;
string s = "";
cin >> s;
Вывод значения считанной строки на экран.
cout << "Your string: " << s << endl;
Получение длины строки.
int n = s.length();
cout << "Length of string: " << n << endl;
Сравнение содержимого строк.
string ss = "hello";
if(s == ss){
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
Получение символа строки под определённым номером.
cout << "Input number of char in string:" << endl;
int number = 0;
cin >> number;
char c = s[number];
cout << "Char: " << c << endl;
Замена символов строки под определёнными номерами.
s[0] = 'X';
s[1] = 'Y';
cout << "Changed string:" << s << endl;
Присвоение значений строкам и сложение строк друг с другом.
string s1 = "aaa";
string s2 = "bbb";
string s3 = s1 + s2;
cout << "String s3: " << s3 << endl;
Перевод из строки в число и наоборот
Для выполнения преобразования типов необходимо подключить дополнительные библиотеки.
#include <string.h>
#include <cstdlib>
Перевод из строки в целое число.
string s = "-25";
int n = atoi(s.c_str());
cout << n;
Перевод из строки в вещественное число.
string s = "35.567";
double d = atof(s.c_str());
cout << d;
Для перевода из целых и вещественных чисел в строки необходимо подключить библиотеку.
#include <sstream>
Пишем функцию, которая может принять на вход целое или вещественное число и преобразовать его в строку.
template <typename tip>
string myFuncToString(tip x){
ostringstream oss;
oss << x;
return oss.str();
}
Вызываем написанную функцию для преобразования целого числа в строку.
int n = 38;
string s1 = myFuncToString(n);
cout << s1 << endl;
Вызываем функцию для преобразования вещественного числа в строку.
double d = 55.678;
string s2 = myFuncToString(d);
cout << s2 << endl;
Перевод строк из старого формата в новый и наоборот
Создадим строку старого формата.
char s[50];
strcpy(s,"hello world");
Переведём её в строку нового формата.
string sss = string(s);
Пример перевода строк из нового стандарта в старый.
string sss = "I am Maxim";
char q[40];
strcpy(q, sss.c_str());
cout << q;
Last updated
Was this helpful?