Массивы строк

Существует специальная форма двумерного символьного массива, которая представляет собой массив строк. В использовании массивов строк нет ничего необычного. Например, в программировании баз данных для выяснения корректности вводимых пользователем команд входные данные сравниваются с содержимым массива строк, в котором записаны допустимые в данном приложении команды. Для создания массива строк используется двумерный символьный массив, в котором размер левого индекса определяет количество строк, а размер правого — максимальную длину каждой строки. Например, при выполнении следующей инструкции объявляется массив, предназначенный для хранения 30 строк длиной 80 символов.

char str_array[30][80];

Массив строк — это специальная форма двумерного массива символов.

Получить доступ к отдельной строке довольно просто: достаточно указать Массивы строк только левый индекс. Например, следующая инструкция вызывает функцию gets() для записи третьей строки массива str_array.

gets(str_array[2]);

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

// Вводим строки текста и отображаем их на экране. #include

#include

using namespace std;

int main()

{

int t, i;

char text[100][80];

for(t=0; t<100; t+ + )

{

cout << t << ": “;

gets(text[t]);

if(!text[t][0]) break; // Выход из цикла по
} // пустой строке

// Отображение строк на экране.

for(i=0; i

cout << text[i] <<’\n';

return 0;

}

Обратите внимание на Массивы строк то, как в программе выполняется проверка на ввод пустой строки. Функция gets() возвращает строку нулевой длины, если единственной нажатой клавишей оказалась клавиша . Это означает, что первым байтом в строке будет нулевой символ. Нулевое значение всегда интерпретируется как ложное, но взятое с отрицанием (!) дает значение ИСТИНА, которое позволяет выполнить немедленный выход из цикла с помощью инструкции break.


documentanlsczh.html
documentanlskjp.html
documentanlsrtx.html
documentanlszef.html
documentanltgon.html
Документ Массивы строк