![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Листинг 16.4. Использование функции get() Вез параметров
1: // Листинг 16.4. Использование get() без параметров 2: #include < iostream.h> 3: 4: int main() 5: { 6: char ch; 7: while ((ch = cin.get())! = EOF) 8: { 9: cout < < " ch: " < < ch < < endl; 10: } 11: cout < < " \nDone! \n"; 12: return 0; 13: }
Примечание: Для выхода из этой программы придется ввести символ конца файла с клавиатуры. С этой целью в операционной системе DOS используется комбинация клавиш < Ctrl+Z>, а в UNIX — < Ctrl+D>.
Результат: Hello ch H ch e ch 1 ch 1 ch о ch World ch W ch о ch r ch 1 ch d ch (ctrl-z) Done!
Анализ: В строке 6 объявляется локальная символьная переменная. В цикле while символ, полученный от cin.get(), присваивается ch, и если возвращенный символ не EOF, то он выводится на печать. Цикл завершается вводом EOF, комбинацией клавиш < Ctrl+Z> в DOS или < Ctrl+D> в UNIX. Следует отметить, что не во всех версиях библиотеки istream поддерживается функция-член get(), хотя сейчас она является частью стандарта ANSI/ISO.
Ошибка! Недопустимый объект гиперссылки.get() с параметром
При установке в функции get() параметра, указывающего на символьную переменную, этой переменной присваивается очередной символ потока ввода. При этом возвращается объект iostream, что позволяет вводить последовательный ряд значений, как показано в листинге 16.5. Листинг 16.5. Использование функции get() с параметрами 1: // Листинг 16.5. Использование get() с параметрами 2: #include < iostream.h> 3: 4: int main() 5: { 6: char а, b, с; 7: 8: cout < < " Enter three letters: "; 9: 10: cin.get(a).get(b).get(c); 11: 12: cout < < " а: " < < а < < " \nb: " < < b < < " \nc: " < < с < < endl; 13: return 0; Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение 14: }
Результат: Enter three letters: one а: о b: n с: e
Анализ: В строке 6 объявляются символьные переменные а, b и с. В строке 10 трижды последовательно вызывается функция cin.get(). Сначала вызывается cin.get(a), в результате первый символ буфера ввода заносится в а и возвращается объект cin, после чего происходит вызов cin.get(b), присваивающий очередной символ буфера переменной b. Аналогичным образом вызывается функция cin.get(c), присваивающая следующий символ переменной с. Поскольку cin.get() возвращает cin, можно было записать это следующим образом: cin.get(a) > > b; В этом случае cin.get(a) возвратит cin, поэтому следующее выражение будет иметь вид: cin > > b;.
Рекомендуется: Используйте оператор ввода > >, когда необходимо вводить значения, разделенные пробелами в строке. Используйте функцию get() с символьным параметром, если нужно последовательно вводить все символы строки, включая пробелы.
|