Программирование >>  Структурное программирование 

1 ... 320 321 322 [ 323 ] 324 325 326 ... 342


быть как операция ввода, так и операция вывода. Функция fseek возвращает нуль в случае своего успешного завершения и отличный от нуля результат для запроса, который не может быть выполнен, помещая при этом в еггпо определяемое реализацией системы значение.

long int ftell(FILE *stream);

Функция ftell возвращает значение индикатора текущей позиции в файле для указанного потока stream. Возвращаемое значение для бинарного потока равно числу символов от начала файла. Для текстового потока индикатор позиции файла содержит неопределенную информацию, которую может использовать функция fseek для возвращения индикатора текущей позиции в файле к значению позиции, полученному в результате вызова ftell; разность между двумя такими возвращаемыми значениями не обязательно равна числу записанных или прочитанных символов. В случае успешного завершения ftell возвращает значение индикатора текущей позиции в файле. При возникновении ошибки ftell возвращает значение -1L и помещает в еггпо определенное в реализации системы программирования положительное значение.

void rewind(FILE *stream);

Функция rewind устанавливает индикатор текущей позиции в файле для потока, указанного параметром stream, на начало файла. Вызов этой функции эквивалентен вызову

(void)fseek(stream, OL, SEEK SET);

за исключением того, что индикатор ошибки потока также сбрасывается.

void clearerr(FILE *stream);

Функция clearerr сбрасывает индикаторы конца файла и ошибки для потока, на который указывает stream.

int feof(FILE *stream);

Функция feof проверяет состояние индикатора конца файла для потока, на который ссылается stream. Функция feof возвращает ненулевое значение в том и только в том случае, если индикатор конца файла для этого потока показывает конец файла.

int ferror(FILE *stream);

Функция ferror проверяет состояние индикатора ошибки потока, на который ссылается stream. Функция ferror возвращает ненулевое значение только тогда, когда индикатор ошибки в потоке показывает наличие ошибки.

void perror(const char *s);

Функция perror выводит сообщение об ошибке, соответствующее текущему значению номера ошибки, определяемого как целое значение еггпо. Функция выводит в стандартный поток ошибок следующую последовательность символов: сначала выводится строка, на которую ссылается указатель s (если s - не нулевой указатель и символ, на который ссылается s, не нулевой символ), затем выводятся двоеточие (:) и пробел, а затем выводится соответствующая строка сообщения об ошибке, завершаемая символом новой строки. Содержимое строк сообщения об ошибках зависит от реализации системы и совпадает со значением, возвращаемым функцией strerror при вызове ее с аргументом еггпо.



А.11. Утилиты общего назначения <stdlib.h>

EXIT FAILURE EXIT SUCCESS

Символические константы, которые могут использоваться в качестве параметра функции exit для обозначения кода выхода из программы - успешного или неудачного, возвращаемого среде выполнения программы.

MB CUR MAX

Положительное целочисленное выражение, значение которого задает максимальное число байтов в многобайтовом символе для расширенного набора символов, определяемого текущей локализацией (категория LC CTYPE); это значение не должно превышать значения MB LEN MAX.

NULL

Константа нулевого указателя, зависящая от используемой системы. RAND MAX

Целочисленное константное выражение, значение которого задает максимальное значение, возвращаемое функцией rand. Значение RAND MAX должно быть равно по крайней мере 32767.

div t

Тип структуры, возвращаемой функцией div. ldiv t

Тип структуры, возвращаемой функцией Idiv. size t

Целый без знака тип результата операции sizeof. wGhar t

Тип целочисленных данных, диапазон значений которых обеспечивает представление кодов всех элементов наибольшего расширенного набора символов среди поддерживаемых имеющимися локализациями; значение кода нулевого символа должно быть равно нулю, а каждый символ из основного набора должен иметь значение кода, равное значению при использовании этого символа в целочисленной символьной константе.

double atof(const char *nptr);

Преобразует начальную часть строки символов, на которую ссылается nptr, в число типа double. Функция atof возвращает результат преобразования.

int atoi(const char *nptr);

Преобразует начальную часть строки символов, на которую ссылается nptr, в число типа int. Функция atoi возвращает результат преобразования.

long int atoi(const char *nptr);

Преобразует начальную часть строки символов, на которую ссылается nptr, в число типа long. Функция atoi возвращает результат преобразования.

double strtod(const char *nptr, char **endptr);

Преобразует строку символов, на которую ссылается nptr, в число типа double. Сначала функция делит строку на три части: начальную, возможно пус-



тую, последовательность символов разделителей (понимаемых в соответствии с классификацией функции isspace), основную последовательность, представляющую константу с плавающей точкой как таковую, и конечную часть, состоящую из одного или более нераспознаваемых символов, включая завершающий нулевой символ строки ввода. Затем функция пытается преобразовать основную последовательность строки в число с плавающей запятой и возвращает полученное значение.

Расширенная форма основной последовательности включает необязательный знак плюс или знак минус , за которым следует непустая последовательность цифр, которая может содержать символ десятичной точки, затем может следовать необязательная часть порядка числа; суффиксы числа с плавающей точкой не распознаются. Основная последовательность определяется как максимально длинная подстрока начальной части входной строки, начинающаяся с первого значащего символа (не разделителя) и соответствующая ожидаемой форме. Основная последовательность не содержит символов, если строка ввода пустая, или целиком состоит из символов разделителей, или если первый значащий символ не является знаком плюс или минус , цифрой или символом десятичной точки.

Если основная последовательность имеет ожидаемую форму: последовательность символов, начинающуюся с цифры или десятичной точки (что бы из них ни встретилось первым), то она интерпретируется как константа с плавающей точкой. В случае, если символ десятичной точки используется в качестве точки в конце предложения, за которой не следует степенная или дробная части числа, то предполагается, что точка поставлена за последней цифрой в строке. Если последовательность начинается со знака минус , то значение, получаемое в результате преобразования, является отрицательным числом. В объект, на который ссылается endptr, помещается указатель на конец обработанной подстроки, если только endptr не нулевой указатель.

Если основная последовательность пуста или имеет не ожидаемую форму, преобразование не производится; в объект, на который ссылается endptr, помещается значение nptr при условии, что endptr не является нулевым указателем.

В случае успешного преобразования функция strtod возвращает преобразованное число. Если преобразование не может быть выполнено, возвращается нуль. Если результат преобразования выходит за границы диапазона допустимых значений, возвращается положительное или отрицательное значение HUGE VAL (в соответствии со знаком результата) и в еггпо помещается значение макроса ERANGE. Если в процессе вычисления результата происходит ошибка потери значимости, возвращается нуль и в еггпо помещается значение макроса ERANGE.

long int strtol(const char *nptr, char **endptr, int base);

Преобразует начальную часть строки, на которую ссылается nptr, в число типа long int. Сначала функция делит строку на три части: начальную последовательность, возможно пустую, символов разделителей (понимаемых в соответствии с классификацией функции isspace), основную последовательность, представляющую целую константу как таковую в системе счисления, указанной параметром base, и конечную часть, состоящую из одного или более нераспознаваемых символов, включая завершающий нулевой символ строки. Затем, функция пытается преобразовать основную последовательность в целое число и возвращает полученный результат.

Если значение base равно нулю, то ожидаемая форма последовательности - целочисленная константа с необязательным предшествующим знаком плюс или минус , не имеющая целочисленных суффиксов. Если значение base



1 ... 320 321 322 [ 323 ] 324 325 326 ... 342

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика