ОПРЕДЕЛЕНИЕ И ИЗМЕНЕНИЕ ВЕЛИЧИНЫ СТРОКИ
Третья форма
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 << "Строка пустая ";