Заголовочные файлы стандартной библиотеки
Ввод/вывод
|
Ôóíêöèè ââîäa/âûâîäa â ñòèëå C
|
|
Ôóíêöèè äëя ðaáîòû ñ ñèìâîëaìè
|
|
Ôóíêöèè ââîäa/âûâîäa â ñòèëå C äëя ìíîãîáaéòíûõ ñèìâîëîâ
|
|
Ôaéëîâûå ïîòîêè
|
|
Ìaíèïóëяòîðû
|
|
Áaçîâûå êëaññû ïîòîêîâ ââîäa/âûâîäa
|
|
Ïðåäâaðèòåëüíûå îáúяâëåíèя ñðåäñòâ ââîäa/âûâîäa
|
|
Còaíäaðòíûå îáúåêòû è îïåðaöèè ñ ïîòîêaìè ââîäa/âûâîäa
|
|
Âõîäíûå ïîòîêè
|
|
Âûõîäíûå ïîòîêè
|
|
Còðîêîâûå ïîòîêè
|
|
Áóôåðèçaöèя ïîòîêîâ
|
Строки
|
Ôóíêöèè êëaññèôèêaöèè ñèìâîëîâ
|
|
|
|
Ôóíêöèè äëя ðaáîòû ñî ñòðîêaìè â ñòèëå C
|
|
Ôóíêöèè äëя ðaáîòû ñ ñèìâîëaìè
|
|
Còðîêîâûé êëaññ
|
392 Приложение 4. Заголовочные файлы стандартной библиотеки
Контейнерные классы
|
Áèòîâîå ìíîæåñòâî
|
|
Äâóñòîðîííяя î÷åðåäü
|
|
Äâóñâяçíûé ñïèñîê
|
|
Cëîâaðü, ñëîâaðü ñ äóáëèêaòaìè
|
|
Î÷åðåäü, î÷åðåäü ñ ïðèîðèòåòaìè
|
|
Ìíîæåñòâî, ìíîæåñòâî ñ äóáëèêaòaìè
|
|
Còåê
|
|
Îäíîìåðíûé ìaññèâ
|
Алгоритмы, итераторы, утилиты
|
Àëãîðèòìû
|
|
Cîðòèðîâêa è ïîèñê èç áèáëèîòåêè C
|
|
Äaòa è âðåìя â ñòèëå C
|
|
Ôóíêöèîíaëüíûå îáúåêòû
|
|
Èòåðaòîðû
|
|
Ðañïðåäåëèòåëè ïaìяòè äëя êîíòåéíåðîâ
|
|
Îïåðaòîðû è ïaðû
|
Диагностика, поддержка языка, локализация
|
Ìaêðîñ assert
|
|
Îáðaáîòêa îøèáîê â ñòèëå C
|
|
Ìaêðîñû ïðåäåëüíûõ çía÷åíèé â ñòèëå C
|
|
Ìaêðîñû ïðåäåëüíûõ çía÷åíèé â ñòèëå C
|
|
Ëîêaëèçaöèя â ñòèëå C
|
|
Îáðaáîòêa ñèãíaëîâ â ñòèëå C
|
|
Ïîääåðæêa ôóíêöèé ñ ïåðåìåííûì ÷èñëîì aðãóìåíòîâ
|
|
Ïîääåðæêa яçûêa áèáëèîòåêè C
|
|
Çaâåðøåíèå ïðîãðaììû
|
|
Cèñòåìíûå ÷añû
|
|
Ïîääåðæêa èñêëþ÷åíèé
|
|
×èñëîâûå îãðaíè÷åíèя
|
|
Êëaññû ëîêaëèçaöèè
|
|
Ðaáîòa ñ äèíaìè÷åñêîé ïaìяòüþ
|
|
Còaíäaðòíûå èñêëþ÷åíèя
|
|
Äèíaìè÷åñêaя èäåíòèôèêaöèя òèïîâ
|
Приложение 4. Заголовочные файлы стандартной библиотеки 393
Численные расчеты
|
Ìaòåìaòè÷åñêèå ôóíêöèè
|
|
Êîìïëåêñíûå ÷èñëa
|
|
Cëó÷aéíûå ÷èñëa â ñòèëå C
|
|
×èñëîâûå îïåðaöèè
|
|
Êëaññû äëя ÷èñëåííûõ ðañ÷åòîâ
|
ПРИЛОЖЕНИЕ 5
Константы, макросы и типы данных
стандартной библиотеки
Ïåðå÷èñëåííûå â ýòîì ïðèëîæåíèè êîíñòaíòû, ìaêðîñû è òèïû èñïîëüçóþòñя â îñíîâíîì â ôóíêöèяõ ñòaíäaðòíîé áèáëèîòåêè, óíañëåäîâaííûõ èç яçûêa C.
assert
vOid assert(int expressiOn);
Ìaêðîñ assert ïðåðûâaåò âûïîëíåíèå ïðîãðaììû, åñëè çía÷åíèå âûðaæåíèя expressiOn яâëяåòñя ëîæíûì (íóëåâûì). Ïðè çaâåðøåíèè ðaáîòû âûâîäèòñя ñîîáùåíèå îá îøèáêå âèäa: Assertion failed: expression, file <имя_файла>, line <но( мер_строки>.
BUFSIZ
Êîíñòaíòa BUFSIZ ïðèìåíяåòñя äëя çaäaíèя ðaçìåða â áaéòaõ áóôåða ïîòîêa äaí- íûõ ôóíêöèяìè fOpen(), freOpen(), setbuf(). Ïðè îòêðûòèè ïîòîêa äaííûõ ê íåìó aâòîìaòè÷åñêè ïðèñîåäèíяåòñя áóôåð äëèíîé BUFSIZ. Ìèíèìaëüíûé ðaçìåð BUFSIZ — 255 áaéòîâ.
CHAR_BIT
 êîíñòaíòå CHAR_BIT õðaíèòñя êîëè÷åñòâî áèò íaèáîëåå êîðîòêîãî òèïa äaííûõ (ïî ñòaíäaðòó — òèïa Char). Ìèíèìaëüíîå çía÷åíèå CHAR_BIT — 8.
Cin, COut, Cerr, ClOg
Îáúåêòû ïîòîêîâûõ êëaññîâ, ñâяçaííûå ñî ñòaíäaðòíûìè ïåðèôåðèéíûìè óñò- ðîéñòâaìè.
Объект
|
Поток данных
|
Класс
|
Cin
|
stdin
|
istream
|
COut
|
stdOut
|
Ostream
|
Cerr
|
stderr
|
Ostream
|
ClOg
|
stderr (áyôepèçoâaííûé)
|
Ostream
|
CHAR_MAX, CHAR_MIN
 êîíñòaíòå CHAR_MAX ñîäåðæèòñя ìaêñèìaëüíîå çía÷åíèå, êîòîðîå ìîæåò èìåòü òèï Char. Åñëè â êîíêðåòíîé ðåaëèçaöèè ïîääåðæèâaåòñя òèï signed Char, òî çía-
÷åíèå CHAR_MAX èäåíòè÷íî çía÷åíèþ SCHAR_MAX, â ïðîòèâíîì ñëó÷aå — UCHAR_MAX.
 êîíñòaíòå CHAR_MIN ñîäåðæèòñя ìèíèìaëüíîå çía÷åíèå, êîòîðîå ìîæåò èìåòü òèï Char. Åñëè â êîíêðåòíîé ðåaëèçaöèè ïîääåðæèâaåòñя òèï signed Char, òî çía-
÷åíèå CHAR_MIN èäåíòè÷íî çía÷åíèþ SCHAR_MIN, â ïðîòèâíîì ñëó÷aå — UCHAR_MIN.
ClOCk_t
Òèï äaííûõ ClOCk_t ïðåäíaçía÷åí äëя ïðåäñòaâëåíèя âðåìåíè:
typedef lOng ClOCk_t;
Çía÷åíèå ýòîãî òèïa âîçâðaùaåò ôóíêöèя ClOCk().
CLOCKS_PER_SEC
 êîíñòaíòå CLOCKS_PER_SEC ñîäåðæèòñя êîëè÷åñòâî öèêëîâ ïðîöåññîða â ñåêóíäó. Ôóíêöèя ClOCk() âîçâðaùaåò âðåìя, âûðaæåííîå â öèêëaõ ïðîöåññîða. ×òîáû ïå- ðåâåñòè åãî â ñåêóíäû, åãî íåîáõîäèìî ðaçäåëèòü ía CLOCKS_PER_SEC.
DBL…
(ñì. FLT…)
div_t
Còðóêòóða div_t ñëóæèò äëя îïðåäåëåíèя òèïa âîçâðaùaåìîãî çía÷åíèя ôóíêöèè
div(). Ïîëå ñòðóêòóðû quOt ñîäåðæèò ÷añòíîå, a ïîëå rem — îñòaòîê îò äåëåíèя.
typedef struCt{ int quOt; int rem;
}div_t;
EDOM
Ìaêðîñ EDOM çaäaåò îòëè÷íóþ îò íóëя öåëî÷èñëåííóþ êîíñòaíòó, ÷òî ïîçâîëяåò îáíaðóæèâaòü îøèáêó îáëañòè, òî åñòü îøèáêó, âîçíèêaþùóþ ïðè âûõîäå aðãó- ìåíòa ça îáëañòü çía÷åíèé, äëя êîòîðîé îïðåäåëåía ìaòåìaòè÷åñêaя ôóíêöèя.
Êîíñòaíòa EOF ñîîáùaåò îá îêîí÷aíèè ôaéëa (ïðåäñòaâëяåò ñîáîé îòðèöaòåëüíîå öåëîå ÷èñëî).
ERANGE
Ìaêðîñ ERANGE çaäaåò îòëè÷íóþ îò íóëя öåëî÷èñëåííóþ êîíñòaíòó, èñïîëüçóå- ìóþ äëя ôèêñaöèè îøèáêè äèaïaçîía. Îøèáêa äèaïaçîía âîçíèêaåò â ñëó÷aå, åñëè ðåçóëüòaò ôóíêöèè íå ìîæåò áûòü ïðåäñòaâëåí îáúåêòîì òèïa dOuble.  ýòîì ñëó÷aå ïåðåìåííaя årrnî (ñì. íèæå) óñòaíaâëèâaåòñя â çía÷åíèå ERANGE.
errnO
Ãëîáaëüíaя öåëî÷èñëåííaя ïåðåìåííaя errnO èñïîëüçóåòñя äëя îáðaáîòêè îøè- áîê, âîçíèêaþùèõ ïðè èñïîëüçîâaíèè ìaòåìaòè÷åñêèõ ôóíêöèé (ìîæåò ñîäåð- æaòü íîìåð îøèáêè, êîòîðûé äaåò äîïîëíèòåëüíóþ èíôîðìaöèþ î ïîñëåäíåé èç îáíaðóæåííûõ îøèáîê).
EXIT_FAILURE
Êîä ñîñòîяíèя, êîòîðûé ìîæåò èñïîëüçîâaòüñя ïðè îáðaùåíèè ê áèáëèîòå÷íîé ôóíêöèè exit() äëя ñîîáùåíèя îá îøèáêå.
EXIT_SUCCESS
Êîä ñîñòîяíèя, êîòîðûé ìîæåò èñïîëüçîâaòüñя ïðè îáðaùåíèè ê áèáëèîòå÷íîé ôóíêöèè exit() äëя ñîîáùåíèя îá óñïåøíîì çaâåðøåíèè ïðîãðaììû.
FILE
Òèï äaííûõ FILE ñîäåðæèò èíôîðìaöèþ, íåîáõîäèìóþ äëя âûïîëíåíèя îïåða- öèé ñ ôaéëîì. Còðóêòóða ýòîãî òèïa äaííûõ çaâèñèò îò êîíêðåòíîé ðåaëèçaöèè, íèæå ïðèâåäåíî îäíî èç âîçìîæíûõ îïèñaíèé.
typedef struCt{
int level; // ôëaã ñîñòîяíèя áóôåða unsigned flags; // ôëaã ñîñòîяíèя ôaéëa Char fd; // ïðåôèêñ ôaéëa unsigned Char hOld; // íåïåðåäaííûé ñèìâîë
int bsize; // ðaçìåð âíóòðåííåãî áóôåða
unsigned Char_FAR *buffer; /* çía÷åíèå óêaçaòåëя äëя äîñòóïa âíóòðè áóôåða; çaäaåò ía÷aëî áóôåða, ía÷aëî ñòðîêè èëè òåêóùåå çía÷åíèå óêaçaòåëя âíóòðè áóôåða â çaâèñèìîñòè îò ðåzèìa áóôåðèçaöèè */
unsigned Char FAR *Curp; /* òåêóùåå çía÷åíèå óêaçaòåëя äëя äîñòóïa âíóòðè áóôåða; çaäaåò òåêóùóþ ïîçèöèþ â áóôåðå äëя îáìåía ñ ïðîãðaììîé */
unsigned istemp; // ôëaã âðåìåííîãî ôaéëa
shOrt tOken; // ìaðêåð äåéñòâèòåëüíîñòè ôaéëa
}FILE;
FILENAME_MAX
Cïåöèaëèçaöèя øaáëîía êëañña basiC_filebuf äëя òèïa äaííûõ Char. typedef basiC filebuf filebuf;
 êîíñòaíòå FILENAME_MAX çaäaåòñя îãðaíè÷åíèå ía äëèíó èìåíè ôaéëa.
flOat_rOund_style
Ïåðå÷èñëяåìûé òèï flOat_rOund_style îïðåäåëяåò êîíñòaíòû äëя ðaçëè÷íûõ ñïî- ñîáîâ îêðóãëåíèя ïðè ñëîæåíèè ÷èñåë ñ ïëaâaþùåé òî÷êîé (ñì. numeriC_limits).
enum flOat_rOund_style{ rOund_indeterminate, rOund tOward_zerO, rOund tO_nearest, rOund_tOward_infinity,
rOund tOward neg_infinity
};
FLT…
Cëåäóþùèå êîíñòaíòû îïðåäåëåíû òaêæå äëя òèïîâ dOuble (DBL_…) è lOng dOuble(LDBL_…):
Константа
|
Описание
|
FLT_DIG
|
Êîëè÷åñòâî âåðíûõ äåñяòè÷íûõ öèôð â îáúåêòå òèïa flOat
|
FLT_EPSILON
|
Ìèíèìaëüíîå âîçìîæíîå çía÷åíèå ïåðåìåííîé òèïa flOat, òaêîå,
÷òî 1.0 + FLT_EPSILON != 1.0
|
FLT_MANT_DIG
|
Êîëè÷åñòâî öèôð ïî îñíîâaíèþ FLT_RADIX â ìaíòèññå äëя ÷èñåë òèïa
flOat
|
FLT_MAX
|
Ìaêñèìaëüíîå ÷èñëî ñ ïëaâaþùåé òî÷êîé òèïa flOat
|
FLT_ÌÀÕ_10_ÅÕÐ
|
Ìaêñèìaëüíîå öåëîå ÷èñëî, äëя êîòîðîãî ñïðaâåäëèâî, ÷òî ÷èñëî, ïîëó÷åííîå ïðè âîçâåäåíèè ÷èñëa 10 â ñòåïåíü FLT_MAX_10_EXP, ìîæåò áûòü ïðåäñòaâëåíî îáúåêòîì òèïa flOat
|
FLT_MAX_EXP
|
Ìaêñèìaëüíîå öåëîå ÷èñëî, äëя êîòîðîãî ñïðaâåäëèâî, ÷òî ÷èñëî, ïîëó÷åííîå ïðè âîçâåäåíèè ÷èñëa FLT_RADIX â ñòåïåíü (FLT_MAX_EXP - 1), ìîæåò áûòü ïðåäñòaâëåíî îáúåêòîì òèïa flOat
|
FLT_MIN
|
Ìèíèìaëüíîå íîðìaëèçîâaííîå ÷èñëî ñ ïëaâaþùåé òî÷êîé, êîòîðîå ìîæåò áûòü ïðåäñòaâëåíî òèïîì flOat
|
FLT_MIN_10_EXP
|
Ìèíèìaëüíîå öåëîå ÷èñëî, äëя êîòîðîãî ñïðaâåäëèâî, ÷òî ÷èñëî, ïîëó÷åííîå ïðè âîçâåäåíèè ÷èñëa 10 â ñòåïåíü FLT_MIN_10_EXP, ìîæåò áûòü ïðåäñòaâëåíî îáúåêòîì òèïa flOat
|
Константа
|
Описание
|
FLT_MIN_EXP
|
Ìèíèìaëüíîå öåëîå ÷èñëî, äëя êîòîðîãî ñïðaâåäëèâî, ÷òî ÷èñëî, ïî- ëó÷åííîå ïðè âîçâåäåíèè ÷èñëa FLT_RADIX â ñòåïåíü (FLT_MIX_EXP - 1), ìîæåò áûòü ïðåäñòaâëåíî îáúåêòîì òèïa flOat
|
Cëåäóþùèå êîíñòaíòû íå èìåþò ñîîòâåòñòâèя äëя òèïîâ dOuble è lOng dOuble.
Do'stlaringiz bilan baham: |