Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Ввод и вывод символьных строк



В лабораторной работе №1 уже упоминалась функция gets (), считывающая строки. Она получает строку от стандартного устройства ввода, которым является клавиатура. Поскольку строка не имеет заранее заданной длины, функция gets () должна знать, когда ей прекратить работу. Функция читает символы до тех пор, пока ей не встретится символ новой строки (‘\n’), который создается при нажатии клавиши Enter. Функция берет все символы до (но не включая) символа новой строки, присоединяет к ним нуль–символ (‘\0’) и передает строку вызывающей программе. Если все идет хорошо, функция gets () возвращает считанную строку. Если что-то неправильно или встретился символ EOF, то она возвращает символ NULL или нулевой адрес.

Рассмотрим пример считывания и вывода строки.

#include < stdio.h >

#include < string.h > /* Подключение файла string.h для работы со строками*/

main ()

{ char name [ 20 ]; /*Выделение памяти*/

gets (name); /*Размещение введенной информации в строку name*/

printf (“%s”, name); /*Вывод строки*/

}.

В приведенном примере для вывода строки использована функция printf (). Для вывода строк чаще всего используют функцию puts (). Разница между функциями состоит в том, что

printf () не выводит автоматически каждую строку текста с новой строки. Если это потребуется, то нужно соответствующее указание. Так,

printf (“%s\n”, string);

дает то же самое, что и

puts (string);

Первый оператор требует ввода большого числа символов и большего времени при выполнении на компьютере. Рассмотрим пример.

#include < stdio.h >

#include < string.h >

main ()

{ static char str1[ ] = “массив инициализирован”;

char *str2 = “Указатель инициализирован”;

puts (str1);

puts (str2);

puts (&str1[4]);

puts (str2+4);

}.

В результате работы получаем:

массив инициализирован

указатель инициализирован

ив инициализирован

атель инициализирован

Обратите внимание на два последних оператора. Указатель &str1[4] ссылается на пятый элемент массива str1. Этот элемент содержит символ ‘и’, и функция puts () использует его в качестве начальной точки. Аналогично str2+4 ссылается на ячейку памяти, содержащую ‘а’, и с которой начинается вывод строки.





Дата публикования: 2014-11-28; Прочитано: 376 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...