Г. Шилдт - Полный справочник по C++ (1109478), страница 118
Текст из файла (страница 118)
Функция )дпоге () Епс1исе <Еояслеалз> гнетем Ььдпоте(яссеалвьяе пзпп = 1, Епс де!ип = ЕОВ) Функция з.паоле() является членом класса евелевза Эта функция считывает и отбрасывает символы из входного потока, пока не будут считаны и проигнорированы лиги — ) символов (по умолчанию — один), либо пока не встретится символ з(е(злз (по умолчанию — нов). Обнаруженный разделитель удаляется из входного потока. Функция возвращает ссылку на поток.
Зависимые функции: две() и дее13пео, Функция ореп еьпс1ил)е <Еястеалз> лоьс Еяегеавз:орел(сопле с)зал *)деилзпе, Еояз зорезнаоде зпо(е = зояз:Еп ! зояз зоил) з лоЫ ЕЕястеезлз з орел(сопел с)зал "Яеззазие, з.онз з орепзлог)е тоде = Еояз: Еп) з ъгоЫ оЕяетеатлз з орел(солне с)зат </з!степе, Еояз:орепзлоз)е пзог(л = Еояз золе ) Еояз зетигзс) з Функция орел() является членом классов Евсеева, ЕЕвелеаа и сввеееаза Она связывает файл с потоком.
Параметр ЕИепазпе задает имя класса, которое может включать в себя путь к файлу. Значение лзеозе определяет режим, в котором открывается файл. Этот параметр может принимать одно или несколько значений, перечисленных ниже. з.ояззарр Еояззасе з.ояззЫпалу Еоязззп Еоеззоис Еовззстипс Эти значения можно комбинировать с помощью логической операции сж. Параметр Еовз зарр означает, что все дазшые будут записываться в конец существующего файла. Это возможно, лишь если файл открыт для вывода.
Значение Еовз заве устанавливает файловый курсор на конец открываемого файла. при этом операции ввода-вывода могут выполняться в любой позиции файла. Параметр Еовз з)зЕпалу означает, что файл открывается в бинарном режиме. По умолчанию файл открывается в текстовом режиме. Глава 32, Стандартные классы ввода-вывода Параметр 1ояг гьп означает, что файл открыт для ввода.
Значение 1оя::оие свидезельствует, что файл открыт для вывода. В то же время открьпие потока 1дяскеяга приводит к автоматическому открытию файла для ввода, открытие потока оляеквюа приводит к автоматическому открьпию файла для вывода, а открытие потока ляееяаж приводит к автоматическому открьпию файла для ввода и вывода. Параметр 1оя: гелиос означает, что содержимое существующего файла, имя которого совпадает со значением параметра Щелагле, будет уничтожено, а длина файла будет усечена ((гипсагег)) до нуля. Во всех случаях отказа функции ореп() возвращается з>ачение ла1яе.
Таким образом, перед использованием файла, следует убедитъся, что он успешно открыт. Зависимые функции: е1ояе(), Квекяамо, 1хясяевга() и одяекеяга(). Функция рееМ В1пс1ог(е «1оят сват> 1ое ряех(); Функция рея)г() является членом класса 1яскеааь Эта функция возвращает слелуюший символ из входного потока или признак конца файла кок. Функция ни при каких обстоятельствах не удаляет символ из потока. Зависимая функция: яяе Пп Функция ргесв|оп ()1пс1и«)е «1оясгеав> яскяагая1яе ртес1я1опО сопле; яг ееягпя1яе ргес1я1оп(ясгеягая1яе р); Функция реее1ялоп() является членом класса 1оя, унаследованным от класса 1оя Ьаяе.
По умолчанию значения с плавающей точкой выводятся с шестью цифрами после десятичной точки. Однако, используя второй вариант функции реяс1вдоп(), можно вывести на экран р цифр после десятичной точки. Функция возвращает исходное значение объекта класса яеквямяляе. Первый вариант функции возвращает текущее значение обьекта класса яеееямяьяе.
Зависимые функции: м1гтеь() и л111пп Функция рй Е1пс1иг)е «1ояегеап> ояегеая ьрце(спас гд); Функция рве() является членом класса ояеееяаь Она записывает символ сл в соответствующий поток вывода и возвращает ссылку на поток. Зависимые функции: тгк1еяо и песни Функция рц$ЬасМ В1пс1о«)е «1оясхеап> 1яехеат Ьриспяск(спал са)*' Функция рвеЬас)гО является членом класса 1явкяаа. Она возвращает символ сл в соответствующий поток ввода.
Зависимая функция: рея)г(), Часть ~Ч. Библиате(в стандартных классов Функция ГМа1е К1пс1цбе <1ояххеап> 1оясасе г<)ясаке() сопок; Функция хбвсасе О янлястся членом класса 1ов. Оиа назнращаст состояние соатнстстнующсга потока. Систслча ннада-нынада сохраняет информацию а результате каждой операции.
снязаппой с актиниым потокам. Тскушсс састаяпис потока садсржится н объекте типа ховсасе, н котором опрсдслсцы следующие флаги. Значение Эти флаги заданы н классе 1ов н качсстнс элементов перечисления, унаслслонаипых от класса 1ов Ьаве. Если никаких ошибок ис обнаружено, функция хбвсасеО нознрашаст флаг дообЬ1с, н протинпал~ случае устанавливается бит, саотнстстнующий назцикшей ошибке. Зависимые функции: еояО, дооб(), охеехО, весвсасеО и яа11(). Функция геаб $1по1ц<)е <1оясхешк> хясхееп Ьхеае)(сцах *Ьиг, ясхеапя1хе пиш); Функция хеабО янлястся членом класса 1всхееа.
Она считынаст из нходпога потока пшп байтов и записывает их н буфер Ьиг". Если конец файла абиаружинастся раньше времени, функция пеабО прекращает работу, устанавливает флаги ка11ьдс, а считанные симнолы остаются н буфере (см. раздел. пасаящсипыи функции дооопо () ). Функция хеаб() нознрашаст ссылку иа поток.
Зависимые функции: доомпс(), хеабвопе(), дес(), дес11пеО и мх1се(). Функция геабаове Ехпс1це(е <1ояххеап> ясхенпя1хе хеа<(яопе(сьак "Ьиу, ясхеепя1хе пшп) Функция хеебвопе ( ) янлястся членом класса 1вснеша Оиа считынаст из нхадиого патока пигп байтов н записынаст их н буфер ЬиГ Если поток содержит меньше пиш симналон, аии нос считываются. Функция хеебвсше() нознрашлст количссгно считшшых символов. Разница между функциями хеебО и хеебвопеО заключается и том, чта функция кеебяопе О пс устанавливает флаги ба1)зк1с, если поток содержит мсиьшс пипл символов. Зависимые функции: дооцпс(). кеабО и мк1сеО.
Функции аееМ9 и аееКр Эхпс1цде <1ояххееп> хя хееп ьяеейд(обб суре озгхеб 1оя::яеекМх опри) хясхеап Ьяеехд(роя суре ровцоп); ояххееп аяеехр(охх Суре агВеб хоя::яеехе)1х опеяп) ояххеяп Ьяеехр(роя Суре ровцоп); Глава 32. Стандартные классы анода-аыаода Нооньхс еокьхс Сехзьхх Ьпдьхк Никаких ошибок не обнаружено. Обнаружен конец файла. Обнаружена поправимая ошибка ннодя-нынода. Обнаружена непопраянмая ошибка ввода. вывода Функция вееид() является членом класса Евекев»а, а функция вееир() прииадлсжгп' классу евсеев»а. Эти функции обеспечивают произвольиыи доступ к файлу.
Для этого система ввода-вывода содержит два указателя, связанных с файлоль Оди~~ из иих является указа«келем ввода (яе( ро!п(сг). Оп ссылается па позицию, с которой начинается следующая операция ввода. Другой указатель ссылается иа позицию, с которой начинается следующая операция вывода. Оц называется указателем вывода (рц( ро(п(ег).
При выполнении очередной операции ввода-вывода соответствующий указатель последовательно продвигается вперед. Однако с помощью функции вес)гд() и вее)ср(! можно перемещаться по файлу ие последовательно, а произвольно. Вариапт функции вее)сд() с двумя параметрами перемешает указатель ввода па «Я~ег бай~ов относительно позиции апл(п. Параметр обжег имеет тип сее суре, позволяющий хранить наибольшее возможное значение, которое может принимать параметр «2(лег. Параметр апя(п имеет тип вее)гс1« и представляет собои перечисление„содержащее следующие значения. 5.св»»)»ед 5.св»»си« 5.св»»еп(( Перемещение от начала.
Первые~ценив от текущей позиции. Перемещение от каипа. Версии функций вес)сд() и все)г(р), имеющие по одному параметру, перемещают файловый указатель иа позицию, заданную параметром ргп(1(ап. Значение этого параметра должно быть предварительно получено с помощью функций се) ьд() или ее11рО соответственно. Тип ров суре позволяет хранить наибольшее возможное значение, которое может принимать параметр роз)1(ап. Эти функции возвращают ссылку иа соответствующий поток. Зависимые функции: ее11дО и ее11р() . ФУНКЦИЯ ВЕН~ «Епс1ице «(свете«я»> ЕмСЕ1адв веСЕ(Еа»СЕ1«дв 5)акг)» етсг1адв веге(емсе1адв 5)ах»1„ е»лсе1«дв 1(аег2)» Функция весе() является члсиом класса Есв, уиаследоаанпым от класса еев )»вве Опа устанавливает флаги форматирования, связаипые с потоком. зпачеиия флагов форматирования описаны в предыдуших разделах.
Первая версия Функции весе() возвращает флаги форматирования, заданные параметром 1)аяг. (Все другие флаги игнорируются.) Например, для того, чтобы установить флаг в)»серов для потока сесе, можно выполнить следующий оператор. й соус.вес((ьов»»вцсирсв) Часть ()(. Библиотека стандартных классов Если необходимо установить несколько флагов, используется логическая операция ок. Вызов функции вееЕО всегда связан с конкретным потоком. Эта функция никогда ие вызывается сама по себе.
Иначе говоря, в языке С++ ие существует глобального йюрматироваиия. Каждый поток хранит информацию о форматировании отдельно, Вторая версия функции вееЕ() влияет только иа флаги, установленные в параметре Яад»2 Соответствующие флаги сначала сбрасываются, а затем устанавливаются вновь в соответствии с флагами, задапиыми в параметре у)а)р1. Если параметрЯау1 содержит другой набор флагов, устацавлива»отея лишь те флаги, которые заданы в параметре 1)а(ц2 Обе версии функции весе() возвращают предыдущее состояние флагов форматирования, связанных с потоком.