Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C++ / Справочная информация / Ввод-вывод данных на консоль.doc
Скачиваний:
18
Добавлен:
13.05.2017
Размер:
139.78 Кб
Скачать
      1. Чтение и запись строк

Консольные функции gets() и puts() позволяют считывать и записывать строки.

Функция gets() считывает строку символов с клавиатуры, и размещает её по адресу, указанному в аргументе, eё прототип находится в библиотеке stdio. Поскольку функция работает с буфером, на время её работы выполнение программы приостанавливается, она ожидает ввода текста с клавиатуры, признаком окончания ввода является клавиша ENTER, после чего строка, введенная пользователем, присваивается переменной в качестве значения.

Следует обратить внимание на одну важную особенность функции gets(), несмотря на то, что нажата клавиша ENTER, в конец строки ставится не символ перехода на новую строку, а нулевой символ '\0'- признак конца строки.

При наборе строки допускается её редактирование, ошибки можно исправить с помощью клавиши BACKSPACE.

В качестве аргумента следует указывать массив символов, в который и будут записаны символы, введенные пользователем.

Пример: Ввести строку текста в массив, вывести строку на экран.

#include <stdio.h>

void main()

{

char buffer[125];

printf("Наберите строку:");

gets(buffer);

printf("Была введена строка: %s\n", buffer);

}

Функция gets() будет рассматривать символы, введенные с клавиатуры, как значение строковой переменной с именем buffer. Следует помнить, что один элемент необходим для нулевого символа '\0', поэтому указывайте длину массива на единицу больше максимально возможной строки. Например, если вы хотите ввести в переменную buffer строку, состоящую из 125 символов, то определяйте массив:

char buffer[126];

Функция puts() выводит на экран строку символов и переводит курсор на следующую строку, её eё прототип находится в библиотеке stdio. Если при выводе возникла ошибка, то функция возвращает константу EOF.

В качестве параметра могут выступать:

  • Строковый литерал;

  • Строковая константа;

  • Строковая переменная.

Хорошо известное приветствие можно записать с помощью функции puts следующим образом:

puts("Hellow world!!!");// это строковый литерал

Пример: Вывести фразу из нескольких строк на экран дисплея.

#define str1 "Добро пожаловать "

void main()

{

char str2[]="в мир программирования !";

puts(str1); // строковая константа

puts(str2); // строковая переменная:

}

Отметим, что литерал — это конкретный набор символов, который вводится непосредственно в инструкции языка С вместо имени константы или переменной.

      1. Обзор консольных функций ввода-вывода

Сведения об основных функциях ввода вывода приведены в таблице 11.1.

Таблица 11.1.

Функция

Операция

getchar ()

Считывает символ с клавиатуры, выводит его на экран, ожидает перехода на новую строку

getche()

Считывает символ с клавиатуры и выводит его на экран, не ожидает перехода на новую строку.

getch()

Считывает символ с клавиатуры и не выводит его на экран, не ожидает перехода на новую строку.

putchar()

Выводит символ на экран.

gets()

Считывает строку с клавиатуры, ожидает перехода на новую строку.

puts()

Выводит строку на экран и переводит курсор на следующую строку.

Соседние файлы в папке Справочная информация