Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Класс string предназначен, естественно, для работы со строками. Он находится в пространстве имен std и для его использования надо подключить string.



 

C++. Библиотека STL

Класс string

 

Класс string предназначен, естественно, для работы со строками. Он находится в пространстве имен std и для его использования надо подключить string.

 

Вот пример использования:

#include <iostream>

#include <string>

using namespace std;

 

void main(){

string s0 = "abcde";

string s1 = " fg";

 

// Конкатенация строк.

string s = s0 + s1;

cout<<s<<"\n";

 

// Получаем символ на определенном месте.

char ch0 = s0.at(1);

cout<<ch0<<"\n";

char ch1 = s0[3];

cout<<ch1<<"\n";

 

// Выясняем, не пустая ли строка.

if (s0.empty()){

cout << "String is empty"<<"\n";

}

else{

cout << "String isn't empty"<<"\n";

}

 

// Обмен значения двух строк.

swap(s0, s1);

 

// Присваиваем и сравниваем 2 строки.

s1 = s0;

if(s1 == s0){

cout << "Strings are equal"<<"\n";

}

else{

cout << "Strings are not equal"<<"\n";

}

 

// Чтение введенной с клавиатуры строки.

getline(cin, s1);

cout<<s1;

 

// Получение длины строки.

cout<<s1.length();

}

 

Как вы видите, работать со строками через класс string достаточно удобно - вы можете делать конкатенацию (сложение) строк с помощью обычного оператора +, можете брать символ в определенном месте строки с помощью оператора [] (или другим способом - с помощью метода at), можете использовать привычные операторы =, ==,!= для присваивания и сравнения строк. Также имеются методы для получения длины строки, для выяснения, не пустая ли это строка и др. Обратите внимание также на весьма полезный метод getline, который позволяет прочитать строку из определенного потока (с клавиатуры в нашем примере).

 

#include <stdlib.h>

#include<iostream>

#include<string>

/*

*

*/

int main(int argc, char** argv) {

using namespace std;

string s1("123");

string s2("456");

string s3=s1+s2;

s3+="789";

cout<<s3<<endl;

cout<<"lengt="<<s3.length()<<endl;

cout<<"size="<<s3.size()<<endl;

cout<<"capacity="<<s3.capacity()<<endl;

cout<<"find 67="<<s3.find("67")<<endl;

cout<<"find 1="<<s3.find("1")<<endl;

cout<<"find 6="<<s3.at(s3.find("6"))<<endl;

cout<<"erase(2,2)="<<s3.erase(2,2)<<endl;

 

return (EXIT_SUCCESS);

}

 

 


Дата добавления: 2015-11-04; просмотров: 25 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Stopping by Woods on a Snowy Evening | Тип String (строка) в Pascal-ABC широко используется для обработки текстов. Этот тип является стандартным и во многом похож на одномерный массив символов Array [0..N] of Char. Значение N

mybiblioteka.su - 2015-2024 год. (0.005 сек.)