Г. Шилдт - Полный справочник по C++ (1109478), страница 107
Текст из файла (страница 107)
Зависимые функции: ркхпсхИ и Ерк1псз(). Часть Ш. Библиотека стандартных функций Функция аасап1 1 Вйпс1ис)е <сасово> йпе авсапй(сопве с)эах *Ьи(, сосне с)Тат <топкам ...); Функция весепй() идентична функции всапй(), но онв вводит данные из массива, адресуемого указателем ()иГ, а не из стандартного потока все)йп. Детали описаны в разделе, посвященном функции всепй(). Функция возвращает значение, равное количеству фактически считанных символов. В это число не включаются пропушенные поля, заблокированные модификатором *. Если функция возврашает нуль, значит, ни одно значение не было считано.
Константа вор означает, что ошибка возникла еше до присвоения первого считанного значения. Зависимые функции: есапйО и йвеапй(). Функция $пзрй!е ! Мйпс1иое <сесе)йо> РХЬд *Тпрйй1е(иоМ); Функция епрй11еО открывает временный файл лля обновления и возврашает указатель на поток. Функция автоматически использует уникальное имя Файла, чтобы избежать конфликта с именами сушествуюших файлов. В случае успеха функция возвращает указатель на поток, а при неудаче — нулевой указатель.
После закрытия файла или прекрашения работы программы временный файл, автоматически создаваемый функцией ев(рйй1е(), удаляеТся. Зависимая функция: секюаэв() Функция $п)рпап) 1 Вйпс1ис)е <свсбйо> с)Тат *спрпап(спас *нагие); Функция еввж>вэаеО генерирует уникальное нмя файла и записывает его в массив, адресуемый указателем лата Длина этого массива не должна быть меньше константы ь епрпевь определенной в заголовке <сес()йо>. Основное предназначение функции епрпепΠ— выбор имени временного файла, которое отличалось бы от любого имени, задействованного в теку1цем каталоге.
Функция может вызываться до тьц мдх раз. Константа тмв мдх определена в заголовке <овсе)йо>. Ее значение может быль больше или равно 25. В случае успеха функция возврашает указатель на массив пате, а при неудаче— нулевой указатель. Если значение параметра лите равно нулю, имя временного файла сохраняется в статическом массиве, определенном в функции епрпаэвп„воэврашаюшей указатель на этот массив. При следующем вызове функции спрпкавО этот массив будет перезапнсан. Зависимая функция: епрй11е ( ) . Функция ипде1с * Вйпс1ис)е <свСЖо> йпс ипяесс(йпс сл, Р1ЬЕ *мта~н); Глава 25.
Функции ввода-вьаодв языка С Функция ипотеке() возврашает символ, определенный младшим байтом числа сЬ, в поток ввода зггеши. Этот символ будет считан при выполнении следующей операции ввода из потока зггеалл Вызов функции двхцви(), Ввеин() или хеизп((() отменяет операцию ипяисе() и отбрасывает возвращенный символ. Гарантируется, что в поток можно вернуть один символ, однако в некоторых реализациях можно возврашать в поток несколько символов. Символ воя в поток вернуть невозможно. Вызов функции шабеке() сбрасывает признак конца файла, связанного с заданным потоком.
Значение курсора в текстовом файле считается неопределенным, пока не будут с ппаны все возвращенные символы. В этом случае файловый курсор устанавливается на позицию, катер)то он занимал перед первым вызовом функции ипдвсс(). Для бинарных потоков каждый вызов функции опвасе() уменьшает значение файлового курсора.
В случае успеха функция возвращает символ сй, в случае отказа — константу вса . Зависимая функция: васс() . Функции юрга, Ирппп и ирппМ В1пс1иг)е <свМахд> (Гбпс1цбе <свес)йо> хпс чрхупсх(с)тах ")отшг, ъа 1хвс ага огг) г зпс чбрхьпсб(Р1ье *зггеат, сопвс с)тах >(с<наг, ча 1(вс ага ргг) г (пс чврхбпсб(с)тах *Ьи), сопас с)тах '3опааг, ча 1хвс агаргг) г Функции тра>псе (), тгврхзпсв() и тгврхзпея () эквивалентны соответственно функциям рх1псд(), врх1пев() и врхапсв(), за исключением того факта„что список аргументов заменяется указателем на список аргументов.
Этот указатель должен иметь тип ча 11ве, определенный в заплчовке <евс((ахя> (или заголовочный файл вес)вся.н). Зависимые функции: та ахи(), жа всахс() и тгв егиз(). Часть )И, Библиотека стандартных функций Полный справочник по 1 1 6 - Сфжыье и символьнье функции тандартная библиотека обладает богатым набором функций для работы с символами С и строками. Строковые функции оперируют массивами, занерщаюшимися нулевым символом.
Для работы с ними необходимо включить н программу заголовок <свскзпд>. Для символьных функций предусмотрен заголовок <сосуде>. В программах на языке С этим заголовкам соответствуют заголовочные файлы свск1пд. Ь и ссуде.)ь Поскольку ни в языке С, ни в языке С++ проверка выхода за пределы диапазона не предусмотрена, отнетстненность за предотвращение переполнения массива возлагается на программиста.
Пренебрежение этой опасностью может закончиться крахом программы. В языке С/С++ печатаемым назынается символ, который можно отобразить на экране. Обычно такие символы расположены между пробелом (охдо) и тильдой (охвв). Управляющие символы имеют значения, лежащие в диапазоне от о до охзж К ним также относится символ рвь (охтр).
По историческим причинам параметрами символьных функций считаются целые числа, при этом используется только их младший байт. Символьные функции автоматически преобразовывают свои аргументы в тип ппв1дпео с)шх. Однако в качестве аргументов этих функций можно использовать и символы, поскольку при вызове они автоматически преобразуются в целое число. В заголовке <свск1пд> определен тип язве с, который, по существу, является типом ппв1дпес. В этои главе описываются лишь функции, работающие с переменными типа с)зае. Именно эти функции были изначально определены в стандартах языков С н С++ и до сих пор являются наиболее распространенными.
Функпии для работы с расширенными симнолами обсуждаются в главе 3!. Функция !за!пц)п 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вспсх1 () возвращает ненулевое значение, в противном случае возвращается нуль.
Зависимые функции; 1ва1пшп(), 1ва1р)за(), зв61д1С(), Хвдкахйг(), 1врх1пк(), 1врппсс() и 1вврасе(). Часть (й. Библиотека стандартных функций $74 Функция (збя)1 №1пс1иде <ссеуре> ьпс 1азз1дза(1пе сЫ," если аргумент является цифрой, функция 1вз)1д1е() возвращает ненулевое значение, в противном случае возвращается нуль. Зависимые функции; 1ва1пиза(), 1ва1каза(), 1вспег1(), 1вдгврЫ], 1вргкпе(), 1врипсс() и з.вервие().
Функция (зягарп №1пс1ие)е есссуре> №пс 1в61д(Е(1пс сЫ з Если аргумент является печатаемым символом, отличным от пробела, функция 1вдгарн() возвращает ненулевое значение, в противном случае возвращается нуль. Как правило, печатаемые символы расположены в диапазоне от ох21 до Ох7И. Зависимые функции: 1ве1пиза(), 1ва1рьа(), 1вспег1(), 1вз(1д1е(), 1врг1пе(), 1врипсе() и 1ввраса().
Функция Ыоиег №1пс1из)е есссуре> з.пе ьв1оиег(зпе еЫ Если аргумент является строчной буквой, функция кв1оиег() возвращает ненулевое значение, в противном случае возвращается нуль. Зависимая функция: 1виррег(), Функция )зргИ №1пс1иг)е ессеуре> 1пс з.аргзпе <№пе сгз) з Если аргумент является печатаемым символом, включая пробел, функция зврг1пе() возвращает ненулевое значение, в противном случае возвращается нуль. Как правило, печатаемые символы расположены в диапазоне от Охво до Ох7И. Зависимые функции: 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вврасе(). Функция 1ззрасе №1пс1ице <сощуре> ьпе 1аврасе(1пс сЫ з Глава 26.
Строковые и символьные функции Если аргумент является пробелом, знаком горизонтальной или вертикальной табуляции, символом возврата каретки или перехода на новую строку, функция 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пс1пс)е <сееххпд> чохс( *шешсцх(сепах чотс) *Ьз(()гг, 1пе дз, е1хе с <онпз) з Функция шеаш)зе() ищет в массиве Ьи((ег первое вхожление символа сЬ среди первых соил( элементов, В случае успеха она возвращает указатель на первое вхождение символа сЬ в массив Ьи~ в противном случае возвращается нулевой указатель. Зависимые функции: ааеасру() и 1ввраса() . Функция аевсгг)р 1 * Е1пс1пс)е <саесхпд> 1пс *тепсазр(сопле чо1х) *ьз(г), попас чо1с *ьз((2, ехае с сшшз) Функция ветсарО сравнивает первые соил( элементов лзассивов, на которые ссылавзгся указатели Ьи~Л и Ьи)2.
Она возвращает целое число. интерпретация которого приведена ниже. Смысл Зависимые функции: заеаш)зеО, шеазсруО и веесарО. Функция ве(г)сру 1 *. *, 41пс1цде <сзггхпд> чоЫ *заешсру(чеза *Зо, сопле чоЫ "~гази, вххе с соил() Часть )П. Библиотека стандартных функций Функция !ецррег Вхп<1пс)е <ссеуре> 1пг. 1апррех(1пе <Ь) з Функция (зх(йдй $1пс1пце <ссеуре> 1пе 1ахбьд1с(з.пе сЬ) з Больше нуля Нуль Меньше нуля Массив ЬоП меньше массива Ьи(2.
Массив Ьиц равен массиву Ьи(2 Массив (шц больше массива Ьи(2. Функция велюру() копирует первые соил( элементов массива /гож в массив го. Если массивы перекрываются, поведение функции меаюру() становится неопределенным. Она возврашает указатель на массив (о. Зависимая функция: теееоче(). Функция вевпюче 1 * Вьп<1оое <свет(пд> чово *теаааоче(чоьб *ю, сонат часе] *1гоин в1ае с сонин; Функция меаеюче() копирует первые соил( элементов массива 1гогл в массив го. Если массивы перекрыааютсл, копирование выполняется корректно. Функция тетеаче() возврашает указатель на массив го.