Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание программ на С++.doc
Скачиваний:
15
Добавлен:
29.09.2019
Размер:
1.59 Mб
Скачать

Преимущества того, что null представляет собой ascii 0

Как вы уже знаете, символ NULL представляет собой символ ASCII 0. В уроке 7 вы изучали, что C++ использует значение 0, чтобы представлять ложь. Таким образом, поскольку символ NULL равен 0, ваши программы могут упростить многие операции цикла. Например, многие функции просматривают символьные строки символ за символом в поиске NULL. Следующий цикл for иллюстрирует, как программа может искать NULL в строке:

for (index = 0; string[index] != NULL; index++)

Поскольку символ NULL равен 0, многие программы упрощают циклы, которые ищут NULL, как показано ниже:

for (index = 0; string[index]; index++);

В данном случае пока символ, содержащийся в string[index] не NULL (0 или ложь), цикл продолжается.

Использование строковых функций библиотеки этапа выполнения

Из урока 11 вы узнали, что большинство компиляторов C++ обеспечивает обширный набор функций, называемых библиотекой этапа выполнения. Рассматривая библиотеку этапа выполнения, вы обнаружите, что она содержат много разных функций, манипулирующих строками. Например, функция strupr преобразует символьную строку в строку верхнего регистра. Подобно этому, функция strlen возвращает количество символов в строке. Большинство библиотек этапа выполнения обеспечивают даже функции, которые позволяют вам просматривать строки в поисках определенного символа. Например, следующая программа STRUPR.CPP иллюстрирует использование функций strupr и strlwr библиотеки этапа выполнения:

#include <iostream.h>

#include <string.h> // Содержит прототипы                               // функций strupr и strlwr

void main(void)  {     char title[] = "Учимся программировать на языке C++";     char lesson[] = "Символьные строки";     cout << "Верхний регистр: " << strupr(title) << endl;     cout << "Нижний регистр: " << strlwr(lesson) << endl;  }

Использование библиотечных функций, манипулирующих строками может сохранить вам время, требуемое для программирования. Выберите время напечатать копию заголовочного файла STRING.H для определения функций манипулирования строками, которые поддерживаются библиотекой вашего компилятора.

Вы должны играть по правилам

Как вы уже знаете, большинство функций, которые манипулируют строками, полагаются на символ NULL как на конец строки. Если ваши программы присваивают строки символам, то следует убедиться, что они добавляют символ NULL в качестве последнего символа строки. Если ваши программы не используют NULL соответствующим образом, то функции, которые полагаются на символ NULL, будут сбиваться.

Что вам необходимо знать

Большинство программ на C++ широко использует символьные строки. Из этого урока вы узнали, как работать со строками. Из урока 18 вы узнаете, как сохранять связанную информацию различных типов в переменных, представляющих структуры C++. Используя структуру, вы можете хранить всю информацию о служащем, например его фамилию, возраст, оклад и номер телефона, в одной переменной. Однако, прежде чем приступить к уроку 18, убедитесь, что освоили следующие основные концепции:

  1. Символьная строка представляет собой массив символов, завершающийся 0 (символом NULL).

  2. Вы создаете символьную строку, объявляя массив типаchar.

  3. Ваша программа ответственна за размещение символа NULL за последним символом строки.

  4. Если программа использует строковые константы, заключенные в

  5. двойные кавычки, компилятор C++ автоматически добавляет символ NULL.

  6. C++ позволяет вам инициализировать строки при объявлении, указывая требуемые символы внутри двойных кавычек.

  7. Большинство компиляторов C++ в своих библиотеках этапа выполнения обеспечивают широкий набор функций для манипулирования строками.