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

1 ... 194 195 196 [ 197 ] 198 199 200


□ string(const wchar t *value, int Startlndex, int length);

Здесь происходит выделение из строки Unicode подстроки длиной length с началом на символе startlndex.

Например:

string s=gcnew String(Ь 2-я форма конструктора ,О,9); Результат: 1-я форма

□ string(const char *value);

Здесь обрабатывается обычная строка с нулевым признаком конца и выдается значение нового типа - типа string.

Например:

string s=gcnew String ( 3-я форма конструктора ); Или:

string а= 3-я форма конструктора ; String s=gcnew String (а. c str ()) ;

Результат: 3-я форма конструктора

В последнем примере переменная а имеет тип string. Это совсем не тип String, а другой ТИП, другой класс (из пространства std). Переменная а преобразуется внутри конструктора с помощью метода cstrO в переменную типа char*, которая уже подходит конструктору.

Посмотрим, какие операции над строками типа string можно выполнять (часть операций рассмотрена также в главе И на примерах, показанных влистинге 11.1).

□ Пример 1:

string s;

String а = gcnew String( abc ); String b = def ; same as gcnew form Object с = gcnew String( ghi ); s=a+b+c;

Результатом выполнения этих операторов будет: s = abcdefghi . Можно к переменной добавлять литерал (например, а=а + zzz ;)

□ Пример 2:

string s;

String а = gcnew String ( abc ) ; wchar t b[2];



Приложение 3. Основные строковые типы данных, принятые в Visual С++ 2008 597 b[0]=a[2];

b[l]=L\0; добавили признак конца строки s=gcnew String(b);

Здесь показано, что из строки string можно извлекать отдельные символы как элементы массива. Это, собственно, можно было делать и в строке типа char.

В данном примере добавлен признак конца в новую строку ь, первым элементом которой стал третий элемент исходной строки, а признака конца строки после объявления ь не было. Поэтому если не добавить признак конца строки, то после 1-го элемента система начнет выдавать все, что будет следовать за первым элементом, пока не найдет среди мусора символ признака конца или не остановится стандартным способом. После добавления признака конца строка ь превратилась в полноценный массив типа wchart. Но нам надо вывести на экран значение ь. Мы хотим применить конструктор string (), у которого параметром может быть только указатель на переменную типа wchart. Известно, что имя массива как раз является указателем на его первый элемент. Поэтому можно записать string (Ь).

□ Пример 3:

String s;

String а = gcnew String ( abc ) ; s=a+l;

Результатом станет: s = abci

□ Пример 4:

string s;

String a = gcnew String ( abc ) ; s=a+a;

Результатом станет: s = аЬс97 (т. е. к строке добавлен код символа).

□ Пример 5:

String s;

String а = gcnew String ( abc ) ; s=a+3.1;

Результатом станет: s = abc3.l .

□ Пример 6:

string s; ,

String a = abc ; String b = def ;



Можно писать:

if(а != Ь) {выдать сообщение)

В классе string можно таким образом сравнивать две строки.

□ Пример 7:

String ~п;

if (п == nullptr)

MessageBox::Show( п is empty );

Если объявили переменную, но не придали ей значение, то возможен такой результат при проверке переменной на нулевой указатель. Если переменной присвоить значение (пусто), то указатель п уже не будет равен

nullptr.



1 ... 194 195 196 [ 197 ] 198 199 200

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