|
Программирование >> Элементы языков с и с++
возвращают индекс начала строки и индекс конца строки соответственно, и к этому значению можно добавлять (вычитать) целое число. □ 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= всем .
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |