Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Замечание. Имя массива символов (s) является как именем массива, так и адресом его нулевого элемента(как для любого массива в С++)

Пример

Имя массива символов (s) является как именем массива, так и адресом его нулевого элемента(как для любого массива в С++).

Строку можно описать как строку символов.

В конце строки всегда присутствует нуль - символ (\0), который служит признаком конца строки.

Пример

Строковые константы заключаются в двойные кавычки. Строковые константы используются в операторах вывода, могут включать управляющие последовательности.

Можно использовать указатель на структуру.

Пример:

sotr *uk; uk = &c2;

 

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

 

Пример:

cout << "Фамилия "<< uk->familia; cout << "Адрес "<< uk->adres;cout << "Телефон "<< uk->telefon;

 

1.6.2. Способы реализации строк

В классическом С++ нет специального строкового типа.

 

Возможны три варианта реализации строк:

1) строковые константы;

2) указатель на символьную строку;

3) массив символов.

 

Рассмотрим каждый из этих вариантов.

1.6.3. Строковые константы

cout<<"Введите х"; // "Введите х" – строковая константаcout <<"Введите х\0";

Нуль-символ можно не указывать, в этом случае он будет добавлен автоматически.

 

1.6.4. Указатель на символьную строку

Можно описать указатель на строку символов.

char *s="Фамилия";cout << s;

Указателю s можно присвоить адрес другой символьной строки

s="Отчество";cout << s;

 

 

1.6.5. Массив символов

Пример: char s[20]="Фамилия";

 

Количество элементов массива должно быть на 1 больше, чем символов в строке. "Лишний" символ нужен для хранения нуль-символа.

 

Размер массива (длину строки) можно не указывать. В этом случае он (размер) будет определен автоматически.

 

Пример: char s[]="Фамилия";

Размер массива s будет равен 8.

 

1.6.6. Некоторые функции для работы со строками

Функции библиотеки string.h (обработка строк)

strcpy (s1, s2) – копирует строку s2 в массив символов s1

 

strcat (s1,s2) – добавляет строку s2 в массив символов s1 (дописывает строку s2 в конец строки s1)

 

strcmp(s1,s2) – сравнивает строки s1 и s2. Если s1<s2, то будет возвращено отрицательное значение, если s1=s2, будет возвращен 0, если s1>s2, будет возвращено положительное значение (сравнение происходит по ASCII-кодам символов)

 

strlen(s1) – возвращает длину строки без учета нуль-символа

 

strtok(s1,s2) – выделяет слово из строки s1, в качестве разделителей используются символы из строки s2. При повторных вызовах функции вместо s1 указывается NULL.

Пусть массив символов fam содержит фамилию, ima - имя, otsh - отчество, сформируем из них новый массив fio, который будет содержать фамилию, имя и отчество

#include<iostream.h>#include<string.h> void main(){char fio[45],fam[15], ima[15], otsh[15]; cout << "\nВведите данные: \n Фамилия ";cin >> fam;cout << "\nИмя ";cin >> ima;cout << "\nОтчество ";cin >> otsh; strcpy(fio,fam);strcat(fio," ");strcat(fio,ima);strcat(fio," ");strcat(fio,otsh); cout << fio;}

Для ввода строки, которая не содержит пробелов можно пользоваться оператором cin. Пробел воспринимается как разделитель между значениями различных переменных, поэтому все символы после пробела будут потеряны. Если строка содержит пробелы, необходимо пользоваться другими операторами для ввода, например функцией gets.

<== предыдущая лекция | следующая лекция ==>
Имя_структурной_переменнной.имя_поля | Пример. Функции библиотеки ctype.h
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 337; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.