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

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

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