Справочник по функциям С++. Подпрограммы классификации Подпрограммы преобразования
Скачать 3.41 Mb.
|
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 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 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 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 #include режима, используемого при открытии */ 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); } } ----------------------------------------------------------------- |