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

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

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

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

Например, управляющая строка "ты[.зьд" заставляет функцию вовне() считать целое число, прочитать и отбросить запятую, а затем считать следующее целое число. Если указанный символ нс найден, функция всвое() прекращает работу. Если нужно очи~ать и отбросить знак процента, в управляющей строке используется обозначение чть. Функции всапЦ) следует передавать адреса Аргументы функции всаох() должны передаваться по ссылке.

Таким образом, ес аргументами лолжны быть указатели. Напомним, что только зтот способ передачи аргументов позволяет Функции изменять нх значения. Например, лля того, чтобы ввести целое число и присвоить его переменной соиле, функцию вевпх() следует вызвать следую)иим образом. Я асан[("Ъг[", асоопс); Строки считываются в символьные массивы, имена которых сами являются их адресами. Следовательно, для считывания строки в массив век необходимо использовать вызов я асане("Ъв", вес); В данном случае переменная век сама является указателем, и ставить перед ней оператор взятия адреса в нс следует. Модификаторы формата Как и функция ре1пее(), функция вовне [] допускает модификацию специфика- торов Формата.

Глава 8. Ввод-вывод на консоль Спсцификаторы формата могут содержать модификатор максимальной ширины поля. Он представляет собои целое число, указанное между знаком процента и специфика)ором формата. Это число ограничивает количество символов, ко~орое можно ввести. Например, чтобы в строку век нельзя было внес~и больше 20 символов, следует выполнить слслуюший вызов. ьЧ всапт("%2ав'.

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

Для ввода значений типа 1оид ).ие перса спецификатором форма~а следует поставить модификатор 1. 2(ля ввода значений типа в)юке хие перел специфнкатором формата следует указать модификатор )ь Эти модификаторы можно ставить перел спсцификаторами ((, х, о, и, н и и. По умолчанию спсцификаторы е, е и д сообшают функции ясене(), что вводится число с плаза)ошей точкои. Если перед этими спецификаторами стоит буква 1, введенное значение будет присвоено переменной типа лосые. Префикс ц означает ввод значения типа аоод попые. Подавление ввода Можно заставить функцию всвое() считывать поле, но не присваивать его нн одной переменной.

Лля этого перел кодам саответствуюшега формата следует поставить символ ". Например, вызов В всепт("Ъс(в*с%с)", ах, ау); означает, что в программу вводится пара чисел за, за. Запятая мс)кду числами должна считываться, но не присваиваться ни одной переменной. Подавление присваивания особенно полсзно, когда программа обрабатывает лишь часть входной информации. Часть 1. Основы языка С++: подмножества С 'е Текстовые потоки Текстовый поток представляе~ собои последовательность символов Стандарт языка С позноляет (но не требует) организовывать потоки в ниде строк, заканчивающихся символом перехода. В последней строке символ перехода указывать не обязазельно.

(На самом деле большинство компиляторов языка С/С++ не завершаю~ .текстовые потоки символом перехода на новую строку.) В зависимости от окружения некоторые символы в текстовых потоках могут подвергаться преобразованиям. Например, силевол перехода па новую строку может быть заменен парой символов, состояшеи из символа возврата каретки и прогоееа бумапе. Следовательно, между символами, записанными н текстовом потоке, и символами, выведенными на внешние устройсзва, лет взаимно однозначного соответствия. По этой же причине количество символов н текстовом потоке и на внешнем усгройсгве может быть разным. ~ Бинарные потоки Бииариыи поток — это последовательность байтов, однозначно соо~ветс~вуюшая последовательности байтов, записаешой на внешнем устройстве, Кроме того, количество записанных (или считанных) байтов совпадает с количеством байтов на внешнем устройстве. Однако бинарный поток может содержать дополнительные нулевые байты, количество которых зависит от конкретнои реализации.

Зги байты применяются для выравнивания записей„например для того, чтобы данные заполняли весь сектор на диске. ~ Файлы В языке С/С+ ь файлам считается все — от файла на диске до дисплея или принтера. Выполнив операцию открытия, поток можно связать с конкретным фаейлом, который можно использовать для обмена данными с программой. Не все файлы обладают одинаковыми возможностями. Например, файл на жестком диске предоставляет прямой доступ к своим записям, а некоторые приеперы— нет. Зто приводит нас к следующему выволу: все потоки в файловой системе языка С одинаковы, а фаеелы могут различаться. Если файл может поддерживать запрос пазииии (розшоп гее)цезг), при его открытии к)рсар ераиеа (В!е роз)г)оп (пака!се) устанавливается в начало.

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

Если работа программы была завершена аыерийеео, например вследствие ошибки или выполнения функции аьоке( ), файлы не закрываются, Каждый поток, связашеый с файлом, имеет управляющую структуру типа яхья, которую нельзя молифицировать. Если вы новичок в программеероваееееи, различия между файлами и потоками могут показаться вам надуманными. Просто помните, что их единственное предназначение— Глава 9, файловый ввод-вывод обеспечить унифицированный интерФейс.

При выполнении операций ввода-вывода следует мыслить терминами потоков, используя при этом единственную файловую систему Она автоматически преобразует исходные операции ввода или вывода, свя- занные с конкретным физическим устройством, в легко управляемый поток. 11~ ~Основы файловой системы Файловая система языка С состоит из нескольких взаимосвязанных функций. В табл. 9.1 приведены наиболее распространенные из них. Для их использования необходим заголовочный фаил всдзо.ш В программах на языке С++ можно также применять заголовочный файл <сев([хо>.

Таблица 9.1. Наиболее распространенные функции ввода-вывода Прототипы функций ввода-вывода находятся в заголовочном файле ас(тхо.)т (соответственно <свс((хо>). Кроме того, в нем определены три типа: езвв с, Хроа в и рхьк. Тип вхвв с, как и врое с, представляет собой целочисленный тип без знака. Тип рхьк обсуждается в следующем разделе.

В файле всдзо.)т (<све()ьо>) определены макросы ИОЬЬ, КОР, ВОРКН ИЛХ, ВККК ДКт, дккк спн и вккк ввю. Макрос ицьь опрслсляет нулевои указатель. Макрос код обычно определяет конста)пу, равную -1. Он задает значсние, возвращаемое функцией ввода при попытке прочесп нссушествуюшую запись после конца файла.

Макрос вт)рки ийх определяет количество файлов, которые можно открыть одновременно. Остальные макросы используются функцией хаев)с(), осушесгвляюшей прямой доступ к записям файла. Указатель файла Указатель файла — это звено, связывающее между собой все компоненты системы ввода-вывода. Он представляет собой указатель на структуру, имеющую тип рхьк. В этой структуре хранится информация о файле, в частности, его нмя, статус и текушес положение курсора. По существу, указатель файла описывает конкретный файл Часть 1.

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

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

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

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

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