Категории
Статьи по категориям
Поиск по сайту Форма поиска по сайту
Панель управления
Пользовательская панель
|
Функция strtoul |
Категория: C, Функции, Служебные | Добавил: root, 28 сентября 2010 | Просмотров: 10568 | Комментариев: 0 |
#include <stdlib.h> unsigned long int strtoul(const char *start, char **end, int radix);
Функция strtoul() преобразует строковое представление числа, которое содержится в строке, адресуемой параметром start, в значение типа unsigned long и возвращает полученный результат. Основание системы счисления, в которой представлено число, определяется параметром radix. Если значение radix равно нулю, то основание определяется так же, как и основание системы счисления при записи констант. Если значение radix не равно нулю, то оно должно быть целым числом от 2 до 36.
В версии С99 к параметрам start и end применен квалификатор restrict.
Функция strtoul() работает следующим образом:
Сначала в строке, адресуемой параметром start, пропускаются пробелы, символы табуляции и пустой строки. Затем считывается число. Считывание заканчивается как только будет обнаружен символ, который не может быть частью длинного целого числа без знака. К таким символам относятся пробелы, символы табуляции и пустой строки, знаки препинания и другие символы. Наконец, параметр end устанавливается так, чтобы указывать на "неиспользованный" остаток исходной строки, если такой существует. Например, если функция strtoul() вызывается с аргументом
"100 клещей" то она возвратит значение
100L а параметр end будет указывать на пробел, предшествующий слову
"клещей" Если результат не может быть представлен как длинное целое без знака, функция strtoul() возвращает значение ULONG_MAX, а глобальная переменная errno устанавливается равной значению ERANGE, что свидетельствует об ошибке из-за выхода результата за пределы представимых чисел. Если параметр start не указывает на число, никакого преобразования не выполняется и функция возвращает нуль. |
Функция strtoll |
Категория: C, Функции, Служебные | Добавил: root, 22 сентября 2010 | Просмотров: 9988 | Комментариев: 0 |
#include <stdlib.h> long long int strtoll(const char * restrict start, char ** restrict end, int radix);
Функция strtoll() добавлена в версии С99.
Функция strtoll() аналогична функции strtol() за исключением того, что она возвращает значение типа long long int. Если результат не может быть представлен как значение типа long long int, возвращается либо значение LLONG_MAX, либо значение LLONG_MIN, а глобальная переменная errno устанавливается равной значению ERANGE, свидетельствующему об ошибке из-за выхода результата за пределы представимых чисел. Если параметр start не указывает на число, никакого преобразования не выполняется и функция возвращает нуль. |
Функция strtold |
Категория: C, Функции, Служебные | Добавил: root, 22 сентября 2010 | Просмотров: 8164 | Комментариев: 0 |
#include <stdlib.h> long double strtold(const char * restrict start, char ** restrict end);
Функция strtold() добавлена в версии С99.
Функция strtold() аналогична функции strtod() за исключением того, что она возвращает значение типа long double. При возникновении переполнения возвращается либо значение HUGE_VALL, либо значение -HUGE_VALL, а глобальная переменная errno устанавливается равной значению ERANGE, свидетельствующему об ошибке из-за выхода результата за пределы представимых чисел. Если параметр start не указывает на число, никакого преобразования не выполняется и функция возвращает нуль. |
Функция strtol |
Категория: C, Функции, Служебные | Добавил: root, 22 сентября 2010 | Просмотров: 10153 | Комментариев: 0 |
#include <stdlib.h> long int strtol(const char *start, char **end, int radix);
Функция strtol() преобразует строковое представление числа, которое содержится в строке, адресуемой параметром-указателем start, в значение типа long int и возвращает полученный результат. Основание системы счисления, в которой представлено преобразуемое число, определяется параметром radix. Если значение radix равно нулю, то основание определяется так же, как и основание системы счисления при записи констант. Если значение radix не равно нулю, то оно должно быть целым числом от 2 до 36.
В версии С99 к параметрам start и end применен квалификатор restrict.
Функция strtol() работает следующим образом:
Сначала в строке, адресуемой параметром start, пропускаются пробелы, символы табуляции и пустой строки. Затем считывается число. Считывание заканчивается как только будет обнаружен символ, который не может быть частью длинного целого числа. К таким символам относятся пробелы, символы табуляции и пустой строки, знаки препинания и другие символы. Наконец, параметр end устанавливается так, чтобы указывать на "неиспользованный" остаток исходной строки, если таковой существует. Это означает, что, если функция strtol() вызывается с аргументом
"100 клещей" она возвратит значение
100L а параметр end будет указывать на пробел, предшествующий слову
"клещей" Если результат не может быть представлен как значение типа long int, функция strtol() возвращает либо значение LONG_MAX, либо значение LONG_MIN, а глобальная переменная errno устанавливается равной значению ERANGE, свидетельствующему об ошибке из-за выхода за границы представимых чисел. Если параметр start не указывает на число, никакого преобразования не выполняется и функция возвращает нуль. |
Функция strtof |
Категория: C, Функции, Служебные | Добавил: root, 22 сентября 2010 | Просмотров: 6860 | Комментариев: 0 |
#include <stdlib.h> float strtof(const char * restrict start, char restrict ** restrict end);
Функция strtof() добавлена в версии С99.
Функция strtof() аналогична функции strtod() за исключением того, что она возвращает значение типа float. При возникновении переполнения возвращается либо значение HUGE_VAL, либо значение -HUGE_VAL, а глобальная переменная errno устанавливается равной значению ERANGE, свидетельствующему об ошибке из-за выхода результата за пределы представимых чисел. Если параметр start не указывает на число, никакого преобразования не выполняется и функция возвращает нуль. |
Функция strtod |
Категория: C, Функции, Служебные | Добавил: root, 22 сентября 2010 | Просмотров: 6224 | Комментариев: 0 |
#include <stdlib.h> double strtod(const char *start, char **end);
Функция strtod() преобразует строковое представление числа, которое содержится в строке, адресуемой параметром start, в значение типа double и возвращает полученный результат.
В версии С99 к параметрам start и end применен квалификатор restrict.
Функция strtod() работает следующим образом:
Сначала в строке, адресуемой параметром start, пропускаются пробелы, символы табуляции и пустой строки. Затем считываются символы, составляющие число. Когда считывается символ, который не может встречаться в записи числа с плавающей точкой, считывание прекращается. К таким символам относятся пробелы, символы табуляции и пустой строки, знаки препинания (но не точки) и символы, отличные от букв "Е" и "е". Наконец, параметр-указатель end устанавливается так, чтобы указывать на "неиспользованный" остаток исходной строки, если таковой существует. Это означает, что, если функция strtod() вызывается с аргументом
"100.00 плоскогубцев" то она возвратит значение
100.00 а параметр-указатель end будет указывать на пробел, предшествующий слову
"плоскогубцев" При возникновении переполнения функция strtod() возвращает либо значение HUGE_VAL, либо значение -HUGE_VAL (означающее положительное или отрицательное переполнение соответственно), а глобальная переменная errno устанавливается равной значению ERANGE, свидетельствующему об ошибке из-за выхода результата за пределы представимых чисел. При потере значимости возвращается нуль, а глобальная переменная errno устанавливается равной значению ERANGE. Если параметр start не указывает на число, никакого преобразования не выполняется и функция возвращает нуль. |
Функция setjmp |
Категория: C, Функции, Служебные | Добавил: root, 22 сентября 2010 | Просмотров: 5387 | Комментариев: 0 |
#include <setjmp.h> int setjmp(jmp_buf envbuf);
Макрос setjmp() сохраняет содержимое системного стека в буфере envbuf для использования в будущем с помощью функции longjmp(). Макрос использует заголовок .
Макрос-функция setjmp() при инициализации возвращает нуль. Однако longjmp() передает аргумент функции setjmp(), и именно его значение (всегда отличное от нуля), станет значением setjmp() после вызова longjmp(). Таким образом, если макрос setjmp() выполняется после вызова функции longjmp(), он возвращает значение аргумента, переданного ему функцией longjmp(). Дополнительная информация приведена в описании longjmp(). | |