ОПРЕДЕЛЕНИЕ И ИЗМЕНЕНИЕ ВЕЛИЧИНЫ СТРОКИ

Третья форма

string st ="Цена пакета молока\n" ;

 

Четвертая форма конструктора позволяет установить длину строки и инициализировать ее копиями одного символа

 

string st(10,'\n');

 

Пятая форма конструктора инициализирует объект типа string другим объектом того же типа:

string st3( st );//Строка st3 инициализируется строкой st.

 

Чтобы убедиться, что эти строки совпадают, воспользуемся оператором сравнения (==):

if ( st == st3 ) cout << "эти строки совпадают ";

 

 

Память для переменной типа string может быть также выделена динамически:

string* ps= new string;

string * ps1= new string("Новая строка");

string& ps2= *new string;//ссылка на строку

 

 

1. Длину строки возвращает функция-член size() (длина не включает завершающий нулевой символ).

cout << "Длина "<< st << ": " << st.size() << " символов, не включая символ новой строки\n";

 

 

2. Функция-член length() –это синоним для size();

 

3. Функция-член resize()изменяет величину строки либо отсекая символ в конце, либо вставляя новые. Необязательный второй аргумент может использоваться для указания символа, который будет вставляться в новые позиции.

 

string str( "fa.disney.com" );

cout << "Длина " << str<< ": " << str.size()<< "\n";

str.resize (20,'!');

cout << "Длина " << str<< ": " << str.size();

 

 

4. Чтобы узнать, пуста ли строка, можно

 

4.1. сравнить ее длину с 0:

string st2("");

if ( ! st2.size() )

cout << "Длина " << st2.size() << " символов, не включая символ новой строки\n";

 

 

4.2. использовать специальный метод empty(),возвращающий true для пустой строки и false для непустой:

if ( st2.empty() ) cout << "Строка пустая ";