Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на C / C++ / Справка функциям С++.doc
Скачиваний:
91
Добавлен:
02.05.2014
Размер:
4 Мб
Скачать

Farrealloc

-----------------------------------------------------------------

Назначение Изменение размера распределенного блока в уда-

ленной (far) куче.

Синтаксис void far *farrealloc(void far *block,

unsigned long newsize);

Прототип в alloc.h

Замечания farrealloc изменяет размер выделяемого блока на

newsize, копируя содержимое, если необходимо, в

новое место.

Отметим, что при выделении из кучи

- Может выделяться вся доступная оперативная

память.

- Могут выделяться блоки размером более 64 Кб.

- Для доступа к распределяемым блокам использу-

ются far-указатели.

Программа крохотной модели памяти не может ис-

пользовать данную функцию, если она преобразо-

вана в файл с расширением .СОМ .

Возвращаемое farrealloc возвращает адрес перераспределенного

значение блока. Он может быть отличен от адреса исходно-

го блока. Если блок не может быть перераспреде-

лен, farrealloc возвращает NULL.

Переносимость Уникальна для MS-DOS.

Смотри также farmalloc, realloc

Пример Смотри farmalloc

-----------------------------------------------------------------

fclose

-----------------------------------------------------------------

Назначение Закрывает поток.

Синтаксис #include<stdio.h>

int fclose(FILE *stream);

Прототип в stdio.h

Замечания fclose закрывает поток stream; перед закрытием

все буферы, связанные со stream, очищаются.

Системно распределенные буферы освобождаются.

Буферы, назначенные функциями setbug и setvbuf,

автоматически не освобождаются.

Возвращаемое fclose возвращает 0 при успешном завершении

значение или возвращает EOF, если обнаружена любая ошиб-

ка.

Переносимость fclose доступна в системах UNIX.

Смотри также close, fcloseall, fdopen, flush, flushall,

fopen, freopen

Пример Смотри fopen

-----------------------------------------------------------------

Fcloseall

-----------------------------------------------------------------

Назначение Закрывает открытые потоки.

Синтаксис int fcloseall(void);

Прототип в stdio.h

Замечания fcloseall закрывает все открытые потоки, за ис-

ключением stdin, stdout, stdprn и stdaux.

fcloseall возвращает общее число закрытых пото-

ков или возвращает EOF, если обнаружена любая

ошибка.

Переносимость fcloseall доступна в системах UNIX.

Смотри также fclose, fdopen, flushall, fopen, freopen

-----------------------------------------------------------------

fcvt

-----------------------------------------------------------------

Назначение Преобразует число с плавающей точкой в строку.

Синтаксис #include<stdlib.h>

char *fcvt(double value,int ndigit,int *decpt,

int *sign);

Замечания fcvt преобразует value в ноль-ограниченную

строку из ndigit цифр и возвращает указатель на

эту строку. Десятичная точка позиционируется

относительно начала строки по значению decpt

(отрицательное значение decpt относится к возв-

ращаемым знакам слева). Если знак результата

отрицателен, то значение слова, указываемого

sign, является ненулевым, иначе оно равно 0.

Если значение параметра value меньше нуля, то

слово указываемое параметром sign не равно ну-

лю; в противном случае - равно 0.

Возвращаемое fcvt возвращает указатель на статически

значение распределенную строку цифр, содержимое которой

перепиcывается при каждом вызове fcvt.

Переносимость Доступна в системах UNIX.

Смотри также atof, atoi, atol, ecvt, gcvt

-----------------------------------------------------------------

fdopen

-----------------------------------------------------------------

Назначение Связывает поток с дескриптором файла.

Синтаксис #include<stdio.h>

FILE *fdopen(int handle, char *type);

Прототип в stdio.h

Замечания fdopen связывает поток с дескриптором файла,

получаемым функциями creat, dup, dup2 или open.

Тип потока должен соответствовать режиму деск-

риптора.

Тип строки type, используемый при каждом вызо-

ве, может принимать одно из следующих значений:

r Открыть только для чтения

w Создать для записи

a Добавление; открыть для записи в ко-

нец файла или создать для записи,

если файл не существует

r+ Открыть существующий файл для изме-

нения (запись и чтение)

w+ Создать новый файл для изменения

a+ Открыть для добавления; открыть (или

создать, если файл не существует)

для добавления в конец файла.

Для задания того, что файл открыт или создан в

текстовом режиме, вы можете добавить t к значе-

нию type (rt, w+t, и т.д.); аналогично для за-

дания двоичного режима вы должны добавить b к

значению type (wb, a+b, и т.д.).

Если t или b в type не заданы - режим определя-

ется значением глобальной переменной _fmode.

Если _fmode установлена в O_BINARY, то файлы

будут открыты в двоичном режиме. Если _fmode

установлена в O_TEXT - файлы будут открыты в

текстовом режиме. Эти константы определены в

файле fcntl.h.

Когда файл открыт для изменения, в результирую-

щий поток может быть произведен как ввод, так и

вывод. Однако вывод не может сразу следовать за

вводом без запроса fseek или rewind, как и ввод

не может сразу следовать за выводом без запроса

fseek или rewind, или ввода, который встречает

конец файла.

Возвращаемое При успешном завершении fdopen возвращает

значение указатель на вновь открытый поток. В случае

ошибки - возвращает NULL.

Переносимость fdopen доступна в системах UNIX.

Смотри также fclose, fopen, freopen, open,

Пример

#include<stdio.h>

#include<fcntl.h> /*необходимо для определения

режима, используемого при открытии */

main()

{

int handle, status;

FILE *stream;

/* открыть файл */

handle = open("MYFILE.TXT", O_CREAT);

/* теперь включить в поток */

stream = fdopen(handle, "w");

if (stream == NULL)

printf("fdopen не верен\n");

else

{

fprintf(stream, "Привет, мир\n");

fclose(stream);

}

}

-----------------------------------------------------------------

feof

-----------------------------------------------------------------

Назначение Проверка на достижение конца файла в потоке.

Синтаксис #include<stdio.h>

int feof(FILE *stream);

Прототип в stdio.h

Замечания feof - макрофункция, проверяющая для заданного

потока индикатор конца файла. Как только этот

индикатор установлен, операции чтения файла

возвращают значения этого индикатора до тех

пор, пока не будет вызвана rewind или файл не

будет закрыт.

Индикатор конца файла устанавливается при каж-

дой операции ввода.

Возвращаемое feof возвращает ненулевое значение, если

значение обнаружен индикатор конца файла во время выпол-

нения последней операции ввода в потоке, или 0

- если не был обнаружен конец файла.

Переносимость feof доступна в системах UNIX, и совместима с

ANSI Cи.

Смотри также clearerr, eof, ferror, perror

-----------------------------------------------------------------

ferror

-----------------------------------------------------------------

Назначение Обнаруживает ошибки в потоке.

Синтаксис #include<stdio.h>

int ferror(FILE *stream);

Прототип в stdio.h

Замечания ferror - макрофункция, проверяющая поток на

ошибку чтения или записи. Если установлен инди-

катор ошибки потока stream, то он остается та-

ким до вызова clearerr или rewind, или до зак-

рытия потока.

Возвращаемое ferror возвращает ненулевое значение, если в

значение потоке stream обнаружена ошибка.

Переносимость ferror доступна в системах UNIX, и совместима с

ANSI Cи.

Смотри также clearerr, eof, feof, fopen, gets, perror

-----------------------------------------------------------------

fflush

-----------------------------------------------------------------

Назначение Очищает поток.

Синтаксис #include<stdio.h>

int fflush(FILE *stream);

Прототип в stdio.h

Замечания Если поток stream открыт для вывода - fflush

записывает содержимое буфера вывода в соответс-

твующий файл.

Если поток stream открыт для ввода - fflush

очищает буфер.

После выполнения fflush поток остается откры-

тым. Данная функция не применяется при безбу-

ферном вводе- выводе.

Возвращаемое fflush возвращает 0 при успешном завершении,

значение или - EOF если обнаружена ошибка.

Переносимость fflush доступна в системах UNIX, и совместима с

ANSI Cи.

Смотри также fclose, flushall, setbuf, setvbuf

-----------------------------------------------------------------

fgetc

-----------------------------------------------------------------

Назначение Получает символ из потока.

Синтаксис #include<stdio.h>

int fgetc(FILE *stream);

Прототип в stdio.h

Замечания fgetc возвращает следующий символ из потока.

Возвращаемое В случае успешного выполнения функция fgetc

значение возвращает прочитанный символ после преобразо-

вания его в целое без знака. При обнаружении

конца файла или ошибке - возвращает EOF.

Переносимость fgetc доступна в системах UNIX и совместима с

ANSI Си.

Смотри также fgetchar, fputs, getc, getch, getchar, getche,

ungetc, ungetch

-----------------------------------------------------------------