Главная » Просмотр файлов » Г. Шилдт - Полный справочник по C++

Г. Шилдт - Полный справочник по C++ (1109478), страница 106

Файл №1109478 Г. Шилдт - Полный справочник по C++ (Г. Шилдт - Полный справочник по C++) 106 страницаГ. Шилдт - Полный справочник по C++ (1109478) страница 1062019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 106)

Глава 25, Функции ввода-вывода языка С Таблица 25.3. Слецификаторы формата функции зсап(() Кол Символ Десятичное целое число со знаком Десятичное цепов числа со знаком, восьмеричное ипи шестнадцатеричное число Десятичное числа с плавающей точкой Десятичное число с плавающей точкои Десятичное число с ппавающеи точкой Восьмеричное число Строка символов Десятичное целое число без знака Шестнадцатеричное число без знака (строчные буквы) Указатель Указатель на целочисленную переменную. Спецификвтор вьаывает присваиванне атой целочисленной переменной количества символов, введенных перед ней Набор сканируемых символов Знак ч вс ьл ы че чс чо допускает ввод чисел 1о 20, но не разрешает вводить строку 1о. 20.

Можно заставить функцию всвпб() считывать поле, не присваивая его ни одной переменной. Для этого перед колом соогветствуюшего формата следует поставить символ *. Например, если применить вызов в явсапб("кс)в*с%с)", йх, Ьу)г Часть ))). Библиотека стандартных функций по умолчанию спецификаторы к, е и я сообшают функции вселя(), что вводится число с плаваюшей точкой. Если перел этими спецификаторами стоит буква 1 ("'эль"), ввепенное значение будет присвоено переменной типа пса)з1е. Префикс ь означает ввод значения типа 1опд 6аиЬ1е.

Начиная с (995 года компиляторы подлержшгают работу с расширенными символами. Лля этого к спецификатору с применяется модификатор 1. В этом случае он задает расширенный сил(вол, на который ссылается указатель типа ис)твк е. Аналогично, если модификатор 1 стоит перед спецификатором в, на экран выводится строка расширенных символов. Кроме того, символ 1 используется для молификации набора сканируемых расширенных символов. Разлелитель в форматной глроке вынуждает функцию всвпк() пропусппь один или несколько разделителей из патока ваала. В качестве разделителей используются пробел, символ табуляции и символ перехода на новую строку.

По сушеству, один разлелитель в управляюшей строке вынуждает функцию вселб() считать, не записывая, произвольное количество разделителей, пока не будет обнаружен символ, не являю|цийся раззелителем. Символы, не являющиеся разлелителями, вынуждают функцию всеоб() считывать и пропускать заданные символы. Например, управляющая строка "зкб,ззб" заставляет функцию всеоб() считать целое число, прочитать и отбросить запятую, а затем считать следующее целое число. Голи указанный символ не найден, функция всеоб ( ) прекрашает работу.

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

Это зна шт, что оператгтр )( всвпг("кс)"о", йк, йс]г к паре тоуто, то функция асхад() считает число !О и присвоит его переменной х, затем отбросит знак деления и присвоит число 20 переменной у В форматной строке можно указывать молификатор максимальной ширины поля. Это целое число, стояшее межлу символом зь и кодом формата. Оно ограничивает количество символов, которое можно считать из поля.

Например, если в переменную а()- бгавв необхолимо считать не более 20 символов, следует написать следуюший оператор. й эсапХ("$20в", ассЬевв); Если длина входной строки превышает 20 символов, следую)ций вызов функции всапя() начнет считывание с символа, на котором остановился прельпушии вызов. Если при вволе обнаружится разделитель, считывание символов завершится лосрочно. В этом случае функция всапх () переходит к слелуюшему полю.

Несмотря на то по пробелы, знаки табуляции и символы перехода на новую строку используются как разделители при чтении данных любых типов, при вводе отдельных символов они считывлкнся наравне со всеми. Например, если поток ввода содержит строку "х у", то Фрагмент кода й апаса("ЬсЪсЪс", ьа, ьЬ, ас); присвоит символа переменнои а. пробел — переменной )з и символ у — переменнои с. Будьте осторожны: любые другие символы в управляюшей строке, включая пробелы, знаки табуляции и символы перехода на новую строку, используются для подавленил разделителей, находяшихсл в потоке ввода. Наприл1ер, если в потоке ввода записаны символы 1ое20, вызов й апаса("Вс)с%о".

йх, ьу); запишет число )О в переменную х, а число 20 — в переменную у. Сил(вол е будет отброшен, поскольку он указан в управляюшей строке. Функция асапд() поддерживает спецификатор универсально~о формата, называемый лабором сканируемых гимволоа (зсапзе(). При обработке этого спецификатора функция будет вводить только те символы, которые входят в заданный набор. Символы записываютсл в массив, на который ссылается соответствуюший аргумент.

Для того чтобы опрелелить набор сканируемых символов, лостаточно перечислить их в квалратных скобках. Перед открываюшей квадратной скобкой указывается символ процента. Например„слелуюший набор сканируемых символов означает, что функция ассад () должна вводить лишь символы л, в и О. я % (Авс) При использовании набора сканируемых символов функция всапд() продолжает считывать символы, помешал их в соответствуюший массив, пока не обнаружится символ, не входяший в заланный набор. По возврашении из функции асхад() массив будет содержать строку, состояшую из считанных элементов и завершаюшуюся нулевым байтом. Если первым символом набора является знак "„набор сканируемых символов трактуется наоборот.

Знак " сообшает функции всход(), что она должна вволить только символы, ле опрелеленные в наборе. В большинстве реализаций можно задавать диапазон символов, используя лефис. Например, следуюший спецификагор ограничивает ввод символов диапазоном от ъ до я. итст пом;ппгч )то набор скапирусмых симл лов зависит от реп)стра. Если требуется ввести как прописные, так и строчные буквы, их следует указывать отдельно. Глава 25. Функции ввода-вывода языка С Функция зсапх() возвращает количество успешно введенных полей.

В зто число не входят поля, которые были считаны, но не присвоены никаким переменным, поскольку были полавлены модификатором ". Если еше до первого присваивания введенного поля возникла ошибка, функция возврагцает константу еп(г. Зависимые функции: рк1псх() и кзеапх(). Функция зе1ЬФ 1 Нтпс1ц<)е <сзсс)хо> ъгоз<) зесЪий(ехЬЕ *пгеав, сцат *Ьиг); Функция зесцид() либо указывает буфер, который будет использоваться потоком игеав„либо отключает буферизацию, если вызывается с нулевым аргументом.

Длина буфера, определенного программистом, должна быть равна константе впрвхе, опрелеленной в заголовке <езсцьо>. Функция зесЪпл() не возвращает никаких значений. Зависимые функции: корее(), хохове() и нееъцел(). Функция за(ЬиЕ Мхпс1ц<)е <сзсдхо> чоЫ зесъЪиб(вхье гггеав, сцат *Ьз)', зос ва(е, зтзе с зце) г Функция зесзгъех() позволяет программисту задать буфер„его размер и режим указанного потока. В качестве буфера вывода-вывода используется символьный массив, адресуемый указателем Ьи(: Размер буфера задается параметром з)хе, а режим потока — параметром воИа Если функция зесецел() вызывается с нулевым аргументом ЬиХ она заллет свой собственный буфер.

Параметр вог(е должен принимать значения хорвз', хомвр и хопер, определенные в заголовке <езег)хо>, Если параметр тот(е равен значению хорвр, применяется полноценная буферизация. Если параметр вот(е равен значению хоьвз', используется буферизация строк. Зто означает, что буфер будет очищаться каждый раз, когда в поток вывода записывается символ перехола на новую строку.

Ввод буферизуется, пока не булет считан символ перехола на новую строку. Если параметр воле равен значению хомвр, буферизация не применяется. В случае успеха функция зеезгцех() возвращает нуль, в противном случае она возвращает ненулевое значение. Зависимая функция: зеецик () . Функция зрпп0 Нхпс1иг)е <сзсс)хо> хпг зртхпсй(спас *Ьнт, сопле сцас )апааг," ... ) г Функция зрк1псх() илентична функции рк1псх(), но вместо консоли она выволит ланные в массив. адресуемый указателем Ьи1". Детали описаны в разлеле, посвя)ценном функции рсзпсх () . Функция возвращает значение, равное количеству символов, фактически записанных в массив.

Характеристики

Тип файла
DJVU-файл
Размер
7,03 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6556
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее