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

Void main(void)

   char title[] = "Учимся программировать на языке C++"; 

   char lesson[] = "Символьные строки"; 

   cout << "Строка " << title << " содержит " << string_length(title) << " символов" << endl; 

   cout << "Строка " << lesson << " содержит " << string_length(lesson) << " символов" << endl; 

}

Функция запускается с первого символа строки (элемент 0) и затем исследует каждый элемент до тех пор, пока не встретит NULL.

Символ NULL представляет собой символ ASCII 0. 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 или ложь), цикл продолжается.

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

Большинство компиляторов 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; 

}

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

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

Вывод

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

  2. Создается символьная строка объявлением массива типа char.

  3. Символ NULL размещается за последним символом строки.

  4. Если программа использует строковые константы, заключенные в двойные кавычки, компилятор C++ автоматически добавляет символ NULL.

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

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