Г. Шилдт - Полный справочник по C++ (1109478), страница 113
Текст из файла (страница 113)
Функция а(япа! 1 * Зйпс1цг)е <сайдпа1> чоы (*аз дпа1(зпх ззлггай чозг) ( зшгс) (1ззс) ) ) (зпс) г Зназезме Использовать стандартный обработчик ошибки. Игнорировать сигнал. вха пхь вха хан Если используется адрес функции, при получении сигнала выполняется его обработка. Часть )й. Библиотека стандартных функций Функция е1апах() регистрирует обработчик сигнала, заланного параметром хгр~аб Иначе говоря, когда программа получит сигнал, определенный параметром згбппг'. будет вызвана функция, адресованная указателем Гйпс.
Значением указателя уйпс является адрес обработчика сипгала или один из следующих макросов, определенных в заголовке <седатза1>. В случае успеха функция еяапе1() возвращает адрес функции, ранее определенной лля дащюго сигнала. Прн возникновении ошибки возвращается макрос вха ввя. определенный в заголовке <сед(пза1>. Зависимал функция:каяле(). Функция агапб ()1пс1пс)е <сяЫ11Ь> чоь<) ехапс) (ппеьдпес( х<о(); Функция ехапдО используется лля вычисления стартовой точки при генерации послсдователыюсти псевдослучайных чисел, возвращаемых функцией еепдО.
Как правило, функцщо ехапп() применяют для генерации нескольких разных последователи~остей псевдослучайных чисел, задавая разные стартовые точки. Кроме того, с помощью функции вхепд() можно генерировать одну и ту же последовательность псевдослучайных чисел, вновь и вновь вызывая функцию с одним и тем же аргументом. Зависимая Функция:кепд(). Функция ВЫоб -*, ()1пс1о()е <пасс)11Ь> ЙооЬ1е еехеос)(сопес спе- *Нао, спет * еЫ); Функция еехеоо() преобразует представление числа, хранящегося в строке зтаг(, в значение типа допЬ1е и возвращает результат.
Функция еекео((() работает следующим образом. Сначала из строки згаг( выбрасываются все разделители. Затем счит(аваются символы, образующие число. Если какой-либо из считанных символов не может быть элемензом записи числа, процесс прекращаетсж Это относится к разделителям, знакам пунктуации (кроме точки) и символам, отличным от букв ж и е. В заключение указатель епг( устанавливается на остаток исходной строки, если он существует. Это значит, что при вызове "1000.00 Не))о" буде~ возвращено число )ОО.ОО, а указатель еле( будет установлен на пробел, предшествующий строке "НеИо". Если преобразование выполнить не удалось, функция возвращает О. При перепел(~ом ни Функция яехеш) ( ) возвращает константу нцаж ъж.
или -нцси (где., соответствующую положителыюму или отрицательному переполнению, а глобальной переменной еххпо присваивается значение явили, означающее выход за пределы допустимых значений. В случае потери з(~ачимости возвращается нуль, а глобальной переменной еккпо снова присваивается значение жввмаж. Зависимая функция:аеох(). Функция ВЫо! Егп<1о<)е <сеСП11Ь> 1опд есхсо1(попас спах "х(ап, спах '*елг(, ьпс гао)х); Функция яехео1() преобразует представление числа, хранящегося в строке згагг, в значение типа 1опп и возвращает результат.
Основание системы счисления, в которой представлено число, задается параметром гайх. Если значение гаоУх равно нулю, основание системы счисления определяется по правилам спецификации констант (т.е. десятичные числа должны начинаться с цифры, восьмери шые — с буквы о, Глава ЗО.
Служебные функции а шестнадпатсричные — с префикса Ох. — Прим. ред.). Кроме нуля параметр гайх может принимать значения от 2 до 36. Функция еекео1() работает слсдуклшна образом. Сначаза из строки гаап выбрасываются все разделители Затем счцтывшотся символы. образующие число. Если какой. либо из с штанных сцмволов нс может быть элементом записи значения типа 1опд, ПРоцссс прскРашастся. Это относится к разделителям, знакам пунктуапии и символам.
В загапочсние указатель слд устанавливается на остаток исходпои строки, если он су|цсствуст. Это значит, по при вызове "!000.00 Нсйо'* будет возвращено число )ООЕ, а указатель глг) булст установлен на пробел, пред. шсствующии с~рокс "Нсйо". Если преобразование выполнить нс удалось, функция возвращает число О. При переполнении функция ее -ео1() возвршцаст константу помп млх или помо мхм. а глобальной перемс~шой еехпо присванаастся значсшлс квлмак, означаюцгсе выход за пределы допустимых значений. В слу ~ас потери значимости возвращается нуль, а глобальпои переменной ееепо снова присваивает значение квлюак.
Зависимая фу(~кция: еео1(). Функция В~ИоЫ * . Ькпс1ог)е <сесе)ЗЬ> цгягопег) 1опц яеггюо1(соево сиаг *пюг, спет '*елг), Зпе гги)1<); Функция еекеое1() преобразует представление числа, хранящегося в строке магг, в значение типа епе1опетт 1опк и возвращает результат. Основание системы счисления, в которой представлено число, задается параметром гаг))х Если значение гаг))х равно нулю, основание системы счисления определяется по правилам спецификации констант. Кроме нуля параметр гааг(х может принимать значения от 2 до 36.
Функция векеое1() работает следующим образом. Сначала из строки магг выбрасываются все разделители. Затем считываются симаолы, образующие число. Если какой-либо из считанных символов нс может быль элементом записи значения типа елекяттег) 1опк, процесс прекращается. Это опюсится к разделителям, знакам пунктуации и символам. В заключение указа~ель ела) устанавливается на остаток исходной строки, если он существует. Это значит, что при аызове ")0000 Нсйо'* будет возврац(оно число )00)., а указатель елг7 будет установлен на пробел, предшествующий строке "Нейо'. Если преобразование выполнить не удалось. функция возвращает число О.
При переполнении функция вехсое1() возвращает константу цтк)ыа МХК или ГГЬОМП Мзм, а глобальной перемешюй еккпо прнсваигжст значение квлмак. означаяццее выход за пределы допустимых зна ю~ий. В случае погори значимости возвращается нуль, а глобальцои переменнои еккпо снова прневаиаается значение квлмпк. Зависимая функция: еекео1(), Функция Бузине)п Ьзпс1цде <сясб11Ь> Зпе яувеет(сопее айаг "мг), Функция вувеет() передает центргшыюму процессору операционной системы команду, представленную в виде строки згг.
Если функция вуеееы() применяется к нулевому указател(о, она вернет ненулевое значение, если процессор доступен, и Π— в противном случае. (Некоторые программы на языке С++ аыполняются в специалы~ых средах, не имеющих опера- Часть )П. Библиотека стандартных функций ционной системы и центрального процессора, поэтому вполне возможна ситуация, при которой процессор действительно не доступен.> Значение, возвращаемое Функцией яуяеем(), зависит от конкретной реализации. Однако, как правило, если команда была успешно выполнена, функция возвращает нуль, в противном случае— ненулевое значение. Зависимая функция:ежйе(). Функции ча агя, ча з1аг$ и ча апб ()зпс1иг)е <сягс)агд> )ур д( 11 Г ВЛ), О) )г чоЫ ча епо(ча 11яс огар)г); чоЫ ча ясаке (ча 11яе ягуара, !ам оалл); Макросы ча акд(), ча ясаке() и ча епао позволяют передавать функциям переменное количество аргументов.
Наиболее ярким примером функции, имеющей переменное количество аргументов, является Функция рх1псл. Гип га 11яе определен в заголовке <ояедахд>. Общая процедура создания функции, имеющей переменное количество аргументов, состоит из следующих этапов. Функция должна иметь как минимум один известный параметр, предшествующий переменному списку аргументов. Крайний справа известный параметр называется гоз( рапп. Это имя используется в вызове функции ча ясаке() в качестве второго параметра.
Чтобы получить доступ к любому параметру, указанному в списке переменной длины, необходимо инициализировать указатель огяргг с помощью макроса ча ясаке О. Параметры возвращаются с помощью макроса 1га ахд(), вторым параметром которого является имя типа гуре. В заключение, когда все параметры считаны, перед возвращением из Функции следует вызвать макрос 1а епг)(), восстанавливающий состояние стека. Если этого не сделать, программа завершится аварийно.
ЗаВИСИМая ФуНКцня: чтрхдпся(). Функция ччсз1овЬз «1пс1пг)е <слег)11Ь> яйяе е исягоеЬя(сйаг *оий сопле исйах Е *гл, яйяе с г(т<) Функция моявоеЬя() преобразует массив расширенных символов гл в многобайтовый эквивалент и записывает результат в массив оиг. При этом учитываются лишь з)ге первых байтов в строке ш. В случае обнаружения признака конца строки процесс преобразования останавливается. В случае успеха функция мояеоеъя() возвращает количество преобразованных байтов.
Если возникает ошибка, функция возвращает число -1. ЗаВИСИМЫЕ фуНКцИИ: мссоеЪ() И мьясонся(). Функция ччто(пЬ а)пс1иг)е <сясг)11Ь> зпс иссоглЬя(сйаг 'ош, испат с *(л) г Функция ггоеоеЬ() преобразует расширенный символ гл в многобайтовый эквивалент и записывает результат в массив оиг, длина которого не должна превышать значение мв сии мах. Глава 30. Служебные функции В случае успеха функция ттееои)з() возвращает количество преобразованных байтов, содержащихся в многобайтовом символе. Если возникает ошибка, функция возвращает число -1 Если указатель оиг является нулевым, функция ттееоиъ() возвращает ненулевое значение, сели многобайтовый символ закодирован в соответствии с текущей локализацией. В противном случае возвращается число О. Зависимые функции: неееоиЪи() и еЬеонс ().