Г. Шилдт - Полный справочник по C++ (1109478), страница 108
Текст из файла (страница 108)
Зависимая Функция: мемсру( ) . Функция я]еп]яе1 *. Мьпс1п<]е <сссуре> чей "пешаес(чоЫ *Ьиг, ьпс сд, в1те с соню] Функция меевесО копирует младший байт символа сЬ в первые соил( символов массива Ьи1. Она возвращает указатель на массив ЬиУ Зависимые функции: меесерО, меаюруО и тевеоче(). Функция 81гсэ1 1 * Вьп<1пе]е <свттьпд> спат *встсас(спат *лиг!, сопят спет "зи2] Функция всгсес(] конкатснирует копию строки есгв в строку всг1 и записывает в конец строки з(г1 нулевой символ. Исходный нулевой символ, содержавшийся в строке пг1, накрывается первым символом строки згг2 Строка згг2 остается неизменной. Если массивы перекрываются, поведение функции всгсас() становится неопределенным. Функция всгсас () возврашает указатель на строку мг1. Следует помнить, что проверка выхода за пределы допустимого диапазона при копировании строк не выполняется, поэтому программист должен сам гарантировать.
что размер строки з(г1 достаточен для хранения исходного содержимого строки згг1 и солержимого строки з(г2 Зависимые функции: всгс)зг(), всгсшр() и есгсру(]. Функция яФгсЬг $1пс1пде <свсггпд> онат "ветс)1т(сопят онат *аг, 1пс сл); Функция есгспг() возврашает указатель на первое вхождение младшего байта числа сЬ в строку всг. Если вхождение не обнаружено, возвращается нулевой указатель. Зависимые функции: встр]зг)с(), всгврп(], всгвсг() и есгсо)<(). Функция яФгстр В(пс1пе]е <свстьпд> 1пс вегенер(сопят спет т(г), сопят спет *пг2) Функция всгсмр() выполняет лексикографическое сравнение двух строк, возвращая мелос число, интерпретация которого приведена ниже.
677 Глава 26. Строковые и символьные функции Смысл Зависимыс функции: веге(зг(), вегсру() и вегшпр(). Функция з1гсоП В(пс1и<)е <сатт1пд> Впт вттсо11(сопят с)1ат "пг1, сопят с»зт *пг2); Функция еегсо11() сравнивает две строки а соответствии с иравилачи, установленными функцией вее1оса1е(). Оиа возвращает целое число, интерпретация которого приведена ниже. Смысл Зависимые функции: мевсор() и вегшпр().
Функция заору 1 * Вапс1иг)е <свстйпр> спет *астору(спет *мг1, сопят спет *иг2); Функция вегсру( > копирует содержимое строки мг2 в строку жг1. Указатель мг1 должен ссылаться на строку, заверщаемую нулевым символом. Если строки перекрываю~та, повсдеиие функции вегсру() становится неопределенным. Зависимые функции: мевсру(>„вегсиг(), ве, (> и „е (> Функция зФгсзрп В1пс1иг>е <саттзпд> вате т встсврп(сопят сЬат *згг), сопят с>тат "тгг2) Функция вегсарп() возвращает длину иачальиои подстроки строки з(г1, нс содержащей символов из строки лт2. Иначе говоря, функция вегсврп() возвращает индекс первого символа а строке т(г1, совпадающего с каким-либо символом из строки иг2 Зависимые функции: естес)тг(), вегрьг>т(), вегвег() и вегео>т().
Функция вегеггог(> возвращает указатель на строку, связанную со значением параметра епяил). Эга строка определяется операционной системой и ие может изменяться. Часть й(. Библиотека стандартных функций Меньше нуля Нуль Больше нуля Меньше нуля Нуль Больше нуля Функция з1геггог 1 * Вьпс1иг>е <спттйпд> с)тат *пттеттот(тпт еггпшп)„. Строка п(гт меньше строки за2.
Строка з(г! равна строке пп2. Строка пЫ больше строки па2. Строка п(г( меньше строки ап2. Строка п(г( равна строке аа2. Строка ае) больше строки пн2. Функция зЬ'!еп Езпс1цде «сахх1по> а(хе с ахх)еп(сопас снах *мг); Функция асг1епО возвращает ллину строки згг, завсршаюгцсися нулем. Нулсвои символ, служащий признаком конца строки, нс учитывается. Зависимые функции: ивеласру() . всгс)лг( ), ввгоюр() и всгпшар() . Функция $1гпса1 Ехпс1иде «свах(пд> сЬах *всхсас(снах *аг1, согхас снах *згг2, в1аа с соин1); Функция всгпсас() конкатсцируст первые соилг символов строки всгз в строку всг1 и записывает в конец строки за 1 нулевой символ, Исходный нулевой символ, содержавшийся в строке згг1, накрывается первым символом строки з1г2. Строка зо2 остастся неизменной. Если массивы перекрываются, поведснис функции всгсаь<) становится неопределенным.
Функция всгосас() возвращает указатель на строку згг1. След)от помнить, что проверка выхола за пределы допустимого лиапазона при копировании строк нс выполнястся, поэтому программист лолжсц сам гарантировать, что размер строки згг1 лостаточсн для хранения исходного содержимого строки згг1 и содержимого строки згг2 Зависил1ЫС фувкции: всгсаьп„всгпсиг() всгпсшрО и всгаоруО. Функция аФ)'пс(пр Е)пс1иг)е «сяххьпп> ьпс асхпспр(сопас спах "з(г1, совах сьах "мг2, вьае с соим) Функция всгасмр() выполняет лсксикографическос сравнение первых соиш символов двух строк, завершающихся нулевым байтом.
Сч 1а возвращает целое число, интерпретация которого приведена ниже. Зкачекве Смысл Меньше нупя Нуль Больше нуля Строка Шг( меньше строки аа2 Строка мгг равна строка а(гв. строка а(гг больше строки агд. Если длина каждой из строк меньше числа соил(, сравнение заканчивается на первом попавщсмся нулсвом банте.
Зависимые функции: всгсвлр(), асгпс)лг() и всгасру(). Функция а1гпсру кьпс1цбе «свсх1пс> сиах * аххпсру(сиах *пг1, совах спах *кгг2, в1ае С соалг) Глава 26. Строковые и символьные функции Функция як*пору() копирует первые соил1 символов строки Мг2 в строку то 1. Указатель згг1 должен ссылаться на строку, завершающуюся нулевым символом. Если строки перекрываются, поведение функции асгсру() становится неопрелелснным. Если длина строки пг2 меньше числа соилл строка Пг) дополняется нулями. И, наоборот, если длина строки нг2 больше числа соиш, результирукнцая строка не содержит нулевого символа.
Функция вегпсру() возвращает указатель на строку з(г1. Зависимые функции: матеру(), вегсьг(), вегпсае() и всгпсор(). Функция МгрЬгК $1пс1ие?е <свст?пд> сЬат *еетрЬтк(сонет онат "хгг!, сосет сЬат *пг2); Функция вегкьг)е() возвращает указатель на первое нхожление символа из строки пг1, совпадающего с каким-либо символом из строки мг2. Нулевой символ нс учитывается.
Если вхождение не обнаружено, возвращается нулевой указатель. Зависимые функции: вегврп() „веггсЬг(), всгвсг() И загсе и() Функция зйггсйг Ю1пс1пое <сеет(пд> онат *всттсЬт(ситес сЬат *мг, зпс сл)? Функция веггсьг() возвращает указатель на последнее вхождение младшего байта числа с)? н строку вег. Если вхождение не обнаружено, возвращается нулевой указатель. Зависимые функции: вегкЖг)е(), вегврп(), вегвег() и вегео?с(). Функция з1гзрг) К(пс1цс?е <сесткпд> в1ае С встврп(сопле онат *аг1, сопле сЬат "мг2) Функция вегврп() возвращает длину начальной подстроки строки зл 1, содержащей только символы из строки зн2 Иначе говоря, функция вегсврп() возвращает индекс первого символа н строке Пг1, не совпадающего с каким-либо символом из строки з(г2 Зависимые функции: вегрЬг?е(), всггснг(), всгвгг() и вьгсо)т().
Функция з1гз1г Е1пс1пе?е <сесткпд> сьат "встает(сонет сьат *пг1, сопвс пьат *жг2) Функция вегвег() возвращает указатель на первое вхождение символа из строки аг1, совпадающего с каким-либо символом из строки з(г2. Если вхождение не обнаружено, нознрашается нулевой указатель, Зависимые функции: вегсьг(), вегеврп(), вегрьг)е(), вегврп(), весно?е() и веггенг() .
Функция зло~( 1 $?пс1це?е <светтпд> сьат *естеок(сьат *нг1, сапес сьат 'згг2); Функция вегас)е() возвращает указатель на следу?ощую лексему н строке згг!. Символы, образугощие строку пг2, являются разделителями, определяющими лексему. Если лексемы не обнаружены, возвращается нулевой указатель. Часть )й. Библиотека стандартных функций Для того чтобы разбить строку на лексемы„сначала необходимо вызвать функцию ясхео)г < ) и получить указатель на разбиваемую строку зггй В лальнейшем при вызове функции ясхсо)с() вместо строки жг! следует задавать нулевой указатель. Таким образом, строка последовательно разбияается на лексемы. В качестве разделителей в разных вызовах функции ясясо)х() можно использовать различныс символы.
Зависимые функции: яеяоья(). ясхоярп(), яехддхх)х(), ессксья() и есхедяг(). Функция я1гх1гп) 1 * *. едпс1пе)е ссяяххпо> ядяе г *ясгхбхтп<снат *згг), сопяс спат *мг2, яххе с сояяп Функция ясяидхе() преобразуя~ строку з<г2 таким образом, чтобы ее можно было использовать лля вызова функции яхясгар<), и записывает ее в строку згг<. После преобразования результат функции ясяощр<).
примененной к строке згг1, совпадает с результатом функции есхсо11(], примененной к строке з<г2. В массив згг< записывается не более соил< символов. Функция ееххдхм() возвращает длину преобразованной строки. Зависимая функция: еесоо11<). функция 1о!овег $1пс1пс<е ссссуре> тпя Со1оиет(дпе сЬ)г Если символ сЬ является буквой, функция содоиея() возвращает его строчный зквивалент. В противном случае символ не изменяется.
Зависимая функция: сопррея(). Функция $оиррег Втпс1пг)е сссеуре> <пс сопррет(дпс сА); Если символ сп является буквой, функция ео1оиек() возврашает его прописной эквивалент. В противном случае символ не изменяется. Зависимая функция: со1оеес(). Глава 26. Строковые и символьные функции атематические функции, входящие в состава стандартной библиотеки, разделяют- М ся на следующие категории. ° 'Григонометрическис ° Гиперболические ° Экспоненциальные и логарифмические ° Другие Для всех математических функций необходим заголовок <ежась>. (В программах на языке С используется заголовочный файл масЬ.Ь.) Кроме объявлений математических функций этот заголовок солержит определение макроса нппв згаь.
Вместе с математическими функциями применяются также макросы впом и вдънов, определенные в заголовке <секкпо> (или в файле вхвпо.ь). Если аргумент математической функции не принадлежит области ее определения, возвращается значение, зависящее от конкретной реализации, а встроенной глобальной целочисленной переменной евспо присваивается значение константы вдвмо. Если значение функции превышает пределы лопустимого диапазона чисел, возникает переполнение (очег(]оа). В этом случае процедура возвращает константу носк )гдь, а переменной вввпо присваивается константа внднпж, идентифицирующая ошибку.
При потере значимости (цпбегбои) функция возарашает нуль, а переменная екхпо принимает значение кнаидк. Все углы задаются в ралианах. Изначально все математические функции оперировали числами типа йоиЫе, однако станларт С++ дополнил язык перегруженными версиями этих функций, разрешив им выполнять операции над числами, имеющими тип е1овс и 1опд ()омыв.