Программирование >>  Элементы языков с и с++ 

1 ... 191 192 193 [ 194 ] 195 196 197 ... 200


возвращают индекс начала строки и индекс конца строки соответственно, и к этому значению можно добавлять (вычитать) целое число.

□ assign о - присваивает значение новой строки заданной строке.

Пример:

string si;

char *s2= npMBeT! ;

sl.assign(s2);

надо перевести si в тип String для вывода; String s3= gcnew String (si. c str ()) ;

Результатом работы этого участка станет значение: s3 = Привет! .

Здесь мы видим, что значение строки s2 назначилось строке si.

Далее все возможности метода assign() совпадают с возможностями метода append О : присвоение части строки как с первого символа, так и с заданного, присвоение значения символа и т. д.

П begin о - возвращает индекс первого элемента строки. В примере для метода append () мы видели его работу.

П cstro - преобразует строку из типа string в строку типа char (строку с нулевым признаком конца в конце строки). Ее действие мы тоже наблюдали в примерах для append().

П capacity о - возвращает максимальное число элементов, которое может быть в строке, чтобы не увеличивать память под ее хранение.

Пример:

string з1= Привет всем ; int i=sl.capacity О;

Результатом работы этих операторов будет: i = 15. П clear () - удаляет все элементы из строки (очищает строку). Пример:

string з1= Привет всем ; si.clear();

if ( si.begin ( ) == si.end ( )) MessageBox::Show( Строка пуста );



□ compare О - сравнивает данную строку с заданной. Сравнение идет посимвольно (сравниваются коды символов). Если коды совпадают, то результат сравнения - ноль, иначе - число, большее или меньшее нуля.

Пример:

string з1= Привет всем ; string з2= Привет всем ; int i=s1.compare(s2);

Результатом будет: i=l, т. е. si > s2.

Метод имеет несколько модификаций, которые можно посмотреть прямо в тексте программы (наведите курсор мыши на текст метода и увидите подсказку).

□ сору () - копирует заданное число символов с заданной позиции строки в массив типа char (на самом деле это строка типа char, но для ее завершения требуется в символ массива, следующий за последним скопированным символом, добавить признак конца).

Пример 1:

string s2 string otkuda= npHBeT всем ; char char Kuda[2О]; s2 string otkuda.copy(char Kuda,6); char Kuda[6]=\0; String s=gcnew String (char Kuda);

Результатом работы этого участка программы будет значение: S = Привет .

Видим, что произошло копирование в массив символов с первого символа строки. Скопировано 6 символов. Чтобы вывести на экран содержимое массива как строки символов, надо строке придать признак конца. Следует помнить, что имя массива - это указатель на его первый элемент (по формату конструктора string о его параметром должен быть указатель типа char *.

Пример 2:

string s2 string otkuda= npHBeT всем ; char char Kuda[20]; int Skolko=4;

int Ot kakogo=7; . . ,



int i=s2 string otkuda.copy(char Kuda, Skolko,Ot kakogo);

/*в i число скопированных символов*/

char Kuda[4]=\0;

String s=gcnew String (char Kuda) ;

Результатом работы этого участка программы будет значение: S = всем .

Видим, что произошло копирование 4-х символов строки (второй параметр) в массив символов, начиная от символа 7 (последний параметр).

П data () - конвертирует содержимое строки в строку типа char. Пример:

string з1= Привет всем ;

const char *го=0; dataO вьщает результат типа const char*, т.е. результат не может модафицироваться

m=sl.data();

П empty () - проверяет строку на ее пустоту. Если строка пуста, возвращает true, иначе - false.

Пример:

string з1= Привет всем ; bool b=sl.empty(); if(b) ( .

операторы обработки ситуации

П end () - выдает индекс последнего символа строки.

П erase () - удаляет символ или последовательность символов строки, начиная с указанной позиции.

Пример:

string з1= Привет всем ; sl=sl.erase(0,7);

Удаляются 7 символов строки, начиная с позиции 0. Результат: з1= всем .



1 ... 191 192 193 [ 194 ] 195 196 197 ... 200

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика