Категории
Статьи по категориям
Поиск по сайту Форма поиска по сайту
Панель управления
Пользовательская панель
|
Функция mbstowcs |
Категория: C, Функции, Служебные | Добавил: root, 22 сентября 2010 | Просмотров: 6593 | Комментариев: 0 |
#include <stdlib.h> size_t mbstowcs(wchar_t *out, const char *in, size_t size);
Функция mbstowcs() преобразует многобайтовую строку, адресуемую параметром in, в строку, состоящую из двухбайтовых символов, и помещает результат в массив, адресуемый параметром out. В массиве out будет сохранено в памяти только size байтов.
В версии С99 к параметрам out и in применен квалификатор restrict.
Функция mbstowcs() возвращает количество преобразованных многобайтовых символов. При возникновении ошибки функция возвращает значение -1. |
Функция mblen |
Категория: C, Функции, Служебные | Добавил: root, 22 сентября 2010 | Просмотров: 4429 | Комментариев: 0 |
#include <stdlib.h> int mblen(const char *str, size_t size);
Функция mblen() возвращает длину (в байтах) многобайтового символа, адресуемого параметром str. Учету подлежат только первые sizeсимволов. При ошибке функция возвращает значение -1.
Если указатель str нулевой, функция mblen() возвращает ненулевое значение в случае, когда многобайтовые символы имеют кодировку, зависящую от территориально-языковых особенностей. В противном случае возвращается нуль. |
Функция longjmp |
Категория: C, Функции, Служебные | Добавил: root, 22 сентября 2010 | Просмотров: 4746 | Комментариев: 0 |
#include <setjmp.h> oid longjmp(jmp_buf envbuf, int status);
Функция longjmp() возобновляет выполнение программы с места последнего обращения к функции setjmp(). Таким образом, функции longjmp() и setjmp() предоставляют средство передачи управления между функциями. Обратите внимание на необходимость включения заголовка .
Функция longjmp() восстанавливает состояние стека, сохраненное в буфере envbuf с помощью функции setjmp(). В результате выполнение программы возобновляется с оператора, следующего за вызовом функции setjmp(). Иначе говоря, компьютер "вводится в заблуждение": "он считает", будто управление программой не выходило за пределы функции, которая вызвала функцию setjmpt(). (Выражаясь образно, функция longjmp() подобна многомерной машине пространства-времени. Она позволяет путешествовать во времени, не соблюдая какой бы то ни было последовательности событий: с ее помощью можно вернуться в "покинутый мир", не обращая внимания на то, что предварительно должен был быть произведен выход из вызванных функций. С ее помощью можно "вернуться домой", минуя промежуточные пункты. Она "искривляет" время и пространство (памяти) так, что с ее помощью можно попасть в покинутую точку программы, не выполняя нормальный процесс возврата из функции.)
Буфер evnbuf имеет тип jmp_buf, который определен в заголовке . Этот буфер должен быть заполнен в результате обращения к функции setjmp() еще до вызова функции longjmp().
Значение параметра status становится возвращаемым значением функции setjmp(), и оно используется для того, чтобы определить "происхождение длинного перехода". Единственным недопустимым значением является нуль. Функция setjmp() возвращает нуль в том случае, когда она вызывается непосредственно программой, а не косвенно, т.е. путем выполнения функции longjmp().
Функция longjmp() используется в основном для возврата из глубоко вложенного набора функций при возникновении ошибок. |
Функция lldiv |
Категория: C, Функции, Служебные | Добавил: root, 22 сентября 2010 | Просмотров: 5036 | Комментариев: 0 |
#include <stdlib.h> lldiv_t lldiv(long long int numerator, long long int denominator);
Функция lldiv() добавлена в версии С99.
Функция lldiv() возвращает в структуре типа lldiv_t частное и остаток, полученные в результате деления числителя numerator на знаменатель denominator. Функция lldiv() аналогична функции ldiv(), но работает со значениями типа long long int.
Структура типа lldiv_t имеет следующие два поля:
long long int quot; /* частное */ long long int rem; /* остаток */ |
Функция ldiv |
Категория: C, Функции, Служебные | Добавил: root, 22 сентября 2010 | Просмотров: 4522 | Комментариев: 0 |
#include <stdlib.h> ldiv_t ldiv(long int numerator, long int denominator);
Функция ldiv() возвращает частное и остаток, полученные в результате деления числителя numerator на знаменатель denominator, в структуре типа ldiv_t.
Структура типа ldiv_t имеет следующие два поля.
long int quot; /* частное */ long int rem; /* остаток */ |
Функция llabs |
Категория: C, Функции, Служебные | Добавил: root, 22 сентября 2010 | Просмотров: 4117 | Комментариев: 0 |
#include <stdlib.h> long long int llabs(long long int num);
Функция llabs() добавлена в версии С99.
Функция llabs() возвращает абсолютное значение аргумента num. Она аналогична функции labs(), но работает со значениями типа long long int. |
Функция labs |
Категория: C, Функции, Служебные | Добавил: root, 22 сентября 2010 | Просмотров: 3886 | Комментариев: 0 |
#include <stdlib.h> long labs(long num);
Функция labs() возвращает абсолютное значение аргумента num. | |