Fclose закрыть файл


Fclose закрыть файл

Объектно-ориентированный и процедурный язык программирования систем управления реляционными базами данных, разработанный корпорацией Microsoft.

Новости

Visual FoxPro 9 позволяет создавать ещё более производительные приложения баз данных. Двадцатиление FoxPro! Microsoft принимает поздравления. Visual FoxPro Toolkit for .NET — более 225 функций VFP 7.0, для языков .NET (подробнее)

Функция FCLOSE( )

Сбрасывает буферы и закрывает файл или порт связи, открытый с помощью файловой функции низкого уровня.

Задает дескриптор файла низкого уровня, который нужно закрыть. Дескриптор фай а возвращается, когда вы создаете файл с помощью функции FCREATE( ) или откр ваете его с помощью функции FOPEN( ).

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

В Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh нельзя открывать по ты с помощью файловых функций низкого уровня.

Если файл успешно закрыт, функция FCLOSE( ) возвращает значение «истина» (.T.) и освобождает дескриптор файла. Если файл закрыть не удалось, FCLOSE( ) возв ащает «ложь» (.F.).

Файлы низкого уровня закрываются и по команде CLOSE ALL.

Описание функций языка Си

All | _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

fclose – закрытие потока данных.

#include
int fclose (FILE *stream);

stream — указатель на управляющую таблицу открытого потока данных.

0 – если поток данных и связанный с ним файл успешно закрыты.

EOF (-1) – если во время работы функции возникла ошибка. При этом переменной errno будет присвоен код ошибки.

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

В примере создается файл для записи с именем test.txt, располагающейся в папке myfile (папка создана до запуска программы и располагается в директории из которой запускается программа) и в файл записывается строка «Тест записи в файл». Затем файл закрывается. Отчет о работе выводится на консоль.

Вывод на консоль:


Открытие файла: выполнено
Запись в файл выполнена
Закрытие файла: выполнено

Fclose закрыть файл

Закрывают файлы различных типов.

Параметры:
ALL
Закрывает все открытые базы данных, таблицы и индексы во всех рабочих областях и выбирает рабочую область 1. Команда CLOSE ALL также закрывает все файлы, открытые с помощью функций файлов низкого уровня FCREATE( ) и FOPEN( ).
По команде CLOSE ALL также закрываются:

  • Конструктор форм
  • Диспетчер проектов
  • Конструктор этикеток
  • Конструктор отчетов
  • Конструктор запросов

CLOSE ALL не закрывает:

  • Окно команд
  • Окно отладки
  • Справку
  • Окно трассировки

CLOSE ALTERNATE
Закрывает альтернативный файл, открытый с помощью команды SET ALTERNATE.
CLOSE DATABASES [ALL]
Закрывает текущую базу данных и ее таблицы. Если текущая база данных не определена, закрываются все открытые свободные таблицы, индексы и файлы формата во всех рабочих областях и выбирается рабочая область 1.
ALL
Задает закрытие следующих элементов:
Всех открытых баз данных и их таблиц.
Всех открытых свободных таблиц.
Всех индексов и файлов формата во всех рабочих областях.
Выбирается рабочая область 1.
CLOSE FORMAT
Закрывает файл формата в текущей рабочей области, открытый с помощью команды SET FORMAT.
CLOSE INDEXES
Закрывает все открытые файлы индексов (как просые индексы .IDX, так и независимые составные индексы .CDX) в текущей рабочей области. Структурный составной индекс (файл .CDX, автоматически открываемый вместе с таблицей) не закрывается. CLOSE PROCEDURE
Закрывает файл процедуры, открытый по команде SET PROCEDURE.
CLOSE TABLES [ALL]
Закрывает все таблицы во всех открытых базах данных, оставляя сами базы данных открытыми. Если открытых баз данных нет, команда CLOSE TABLES закрывает все свободные таблицы во всех рабочих областях.
CLOSE TABLES нельзя выдавать во время выполнения транзакции; Visual FoxPro сгенерирует сообщение об ошибке.
ALL
Закрывает все таблицы (включая свободные) во всех рабочих областях. Все базы данных остаются открытыми.

Илон Маск рекомендует:  Что такое код ptvisible

Закрытие файла: функция fclose

По окончании работы с файлом его надо обязательно закрыть. Система обычно запрещает полный доступ к файлу до тех пор, пока он не закрыт. (Например, в нормальном режиме система запрещает одновременную запись в файл для двух разных программ.) Кроме того, информация реально записывается полностью в файл лишь в момент его закрытия. До этого она может содержаться в оперативной памяти (в так называемой файловой кеш-памяти), что при выполнении многочисленных операций записи и чтения значительно ускоряет работу программы.

Для закрытия файла используется функция fclose с прототипом

int fclose(FILE *f);

В случае успеха функция fclose возвращает ноль, при ошибке — отрицательное значение (точнее, константу конец файла EOF, определенную в системных заголовочных файлах как минус единица). При ошибке можно воспользоваться функцией perror, чтобы напечатать причину ошибки. Отметим, что ошибка при закрытии файла — явление очень редкое (чего не скажешь в отношении открытия файла), так что анализировать значение, возвращаемое функцией fclose, в общем-то, не обязательно.

fclose, _fcloseall fclose, _fcloseall

Закрывает поток (фклосе) или закрывает все открытые потоки ( _fcloseall). Closes a stream (fclose) or closes all open streams (_fcloseall).

Синтаксис Syntax

Параметры Parameters

вышестоящий stream
Указатель на структуру FILE. Pointer to FILE structure.

Возвращаемое значение Return Value

фклосе возвращает 0, если поток успешно закрыт. fclose returns 0 if the stream is successfully closed. _fcloseall возвращает общее число закрытых потоков. _fcloseall returns the total number of streams closed. Обе функции возвращают EOF , чтобы указать ошибку. Both functions return EOF to indicate an error.

Примечания Remarks


Функция фклосе закрывает поток. The fclose function closes stream. Если Stream имеет значение NULL, вызывается обработчик недопустимых параметров, как описано в разделе Проверка параметров. If stream is NULL, the invalid parameter handler is invoked, as described in Parameter Validation. Если выполнение может быть продолжено , фклосе устанавливает значение переводится в еинвал и возвращает EOF. If execution is allowed to continue, fclose sets errno to EINVAL and returns EOF. Рекомендуется всегда проверять указатель потока перед вызовом этой функции. It is recommended that the stream pointer always be checked prior to calling this function.

Дополнительные сведения об этих и других кодах ошибок см. в разделе _doserrno, errno, _sys_errlist и _sys_nerr. See _doserrno, errno, _sys_errlist, and _sys_nerr for more information on these, and other, error codes.

Функция _fcloseall закрывает все открытые потоки, за исключением stdin, stdout, stderr (и, в MS-DOS, _stdaux и _stdprn). The _fcloseall function closes all open streams except stdin, stdout, stderr (and, in MS-DOS, _stdaux and _stdprn). Он также закрывает и удаляет временные файлы, созданные tmpfile. It also closes and deletes any temporary files created by tmpfile. При использовании обеих функций все буферы, связанные с потоком, перед закрытием сбрасываются. In both functions, all buffers associated with the stream are flushed prior to closing. При закрытии потока выделенные системой буферы освобождаются. System-allocated buffers are released when the stream is closed. Буферы, назначенные пользователем с помощью setbuf и setvbuf , не освобождаются автоматически. Buffers assigned by the user with setbuf and setvbuf are not automatically released.

Илон Маск рекомендует:  Что такое код mb_regex_encoding

Примечание. Когда эти функции используются для закрытия потока, базовый дескриптор файла и дескриптор файла операционной системы (или сокет) закрываются, а также поток. Note: When these functions are used to close a stream, the underlying file descriptor and OS file handle (or socket) are closed, as well as the stream. Таким образом, если файл был первоначально открыт как дескриптор файла или дескриптор файла и закрывается с помощью фклосе, не вызывайте _close , чтобы закрыть дескриптор файла. не вызывайте функцию Win32 в CloseHandle для закрытия маркера файла. Thus, if the file was originally opened as a file handle or file descriptor and is closed with fclose, do not also call _close to close the file descriptor; do not call the Win32 function CloseHandle to close the file handle.

фклосе и _fcloseall включают код для защиты от помех от других потоков. fclose and _fcloseall include code to protect against interference from other threads. Сведения о неблокирующей версии фклосесм. в разделе _fclose_nolock. For non-locking version of a fclose, see _fclose_nolock.

Требования Requirements

Функция Function Обязательный заголовок Required header
fclose fclose
_fcloseall _fcloseall

Дополнительные сведения о совместимости см. в разделе Совместимость. For additional compatibility information, see Compatibility.

Пример Example

См. пример для fopen. See the example for fopen.

Документация

Закройтесь один или все открытые файлы

Синтаксис

Описание

fclose(fileID) закрывает открытый файл.

fclose(‘all’) закрывает все открытые файлы.

status = fclose(___) возвращает status 0 , когда операция закрытия успешна. В противном случае это возвращает -1 . Можно использовать этот синтаксис с любым из входных параметров предыдущих синтаксисов.

Примеры

Открытие и закрытие файла

Откройте файл badpoem.txt , прочитайте первую строку, и затем закройте файл.

Используйте fopen , чтобы открыть файл. Эта функция присваивает уникальный идентификатор файла, чтобы использовать для чтения и записи в файл.


Прочитайте первую строку из файла с помощью fgetl .

Входные параметры

fileID — Идентификатор файла
целое число

Идентификатор файла открытого файла, заданного как целое число. Прежде, чем закрыть файл с fclose , необходимо использовать fopen , чтобы открыть файл и получить его fileID .

Типы данных: double

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

Представлено до R2006a

Документация MATLAB
Поддержка

© 1994-2020 The MathWorks, Inc.

1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.

2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.

3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.

4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.

5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.

fclose

(PHP 4, PHP 5, PHP 7)

fclose — Закрывает открытый дескриптор файла


Описание

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

Список параметров

Дескриптор должен быть корректным и указывать на файл, открытый ранее с помощью функции fopen() или fsockopen() .

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Простой пример использования функции fclose()

= fopen ( ‘somefile.txt’ , ‘r’ );

Смотрите также

  • fopen() — Открывает файл или URL
  • fsockopen() — Открывает соединение с интернет-сокетом или доменным сокетом Unix

User Contributed Notes 6 notes

It is a GOOD_THING to check the return value from fclose(), as some operating systems only flush file output on close, and can, therefore, return an error from fclose(). You can catch severe data-eating errors by doing this.

I learned this the hard way.

In case you have some trouble to properly disconnect some client streams opened with stream_socket_server / stream_select you should give a try to stream_socket_shutdown.

if you want to daysychain a filehandle through some functions and each function is allowed to close th file you might look in a following function first, if the handle is still valid.

Opening a file, there often will be used a code like

if (!$fh = fopen($filename, $mode)) return false;

But if you possably have closed the file and you want to check that, a smililar statement would not work.

DOES NOT WORK: if (!$fh) end_of_chain();


use beter: if (is_resource($fh)) end_of_chain();

Fclose закрыть файл

Если fd является последней копией какого-либо файлового дескриптора, ссылающегося на используемое описание открытого файла, (см. open(2)), то ресурсы, связанные с описанием открытого файла, освобождаются; если файловый дескриптор был последней ссылкой на файл, удалённый с помощью unlink(2), то файл окончательно удаляется.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

ОШИБКИ

СООТВЕТСТВИЕ СТАНДАРТАМ

ЗАМЕЧАНИЯ

Успешное закрытие не гарантирует, что данные успешно записаны на диск, потому что ядро откладывает запись. Обычно файловые системы не сбрасывают буферы на диск при закрытии потока. Если вам нужно удостовериться, что данные физически сохранены на диске, используйте fsync(2) (в этом случае всё будет зависеть от оборудования).

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

Fclose закрыть файл

Закрывают файлы различных типов.

Параметры:
ALL
Закрывает все открытые базы данных, таблицы и индексы во всех рабочих областях и выбирает рабочую область 1. Команда CLOSE ALL также закрывает все файлы, открытые с помощью функций файлов низкого уровня FCREATE( ) и FOPEN( ).
По команде CLOSE ALL также закрываются:

  • Конструктор форм
  • Диспетчер проектов
  • Конструктор этикеток
  • Конструктор отчетов
  • Конструктор запросов

CLOSE ALL не закрывает:

  • Окно команд
  • Окно отладки
  • Справку
  • Окно трассировки

CLOSE ALTERNATE
Закрывает альтернативный файл, открытый с помощью команды SET ALTERNATE.
CLOSE DATABASES [ALL]
Закрывает текущую базу данных и ее таблицы. Если текущая база данных не определена, закрываются все открытые свободные таблицы, индексы и файлы формата во всех рабочих областях и выбирается рабочая область 1.
ALL
Задает закрытие следующих элементов:
Всех открытых баз данных и их таблиц.
Всех открытых свободных таблиц.
Всех индексов и файлов формата во всех рабочих областях.
Выбирается рабочая область 1.
CLOSE FORMAT
Закрывает файл формата в текущей рабочей области, открытый с помощью команды SET FORMAT.
CLOSE INDEXES
Закрывает все открытые файлы индексов (как просые индексы .IDX, так и независимые составные индексы .CDX) в текущей рабочей области. Структурный составной индекс (файл .CDX, автоматически открываемый вместе с таблицей) не закрывается. CLOSE PROCEDURE
Закрывает файл процедуры, открытый по команде SET PROCEDURE.
CLOSE TABLES [ALL]
Закрывает все таблицы во всех открытых базах данных, оставляя сами базы данных открытыми. Если открытых баз данных нет, команда CLOSE TABLES закрывает все свободные таблицы во всех рабочих областях.
CLOSE TABLES нельзя выдавать во время выполнения транзакции; Visual FoxPro сгенерирует сообщение об ошибке.
ALL
Закрывает все таблицы (включая свободные) во всех рабочих областях. Все базы данных остаются открытыми.

fclose, fcloseall

int fcloseall(void)

Функция fclose() закрывает файл, связанный со stream, и очищает буфер. После вызова fclose() stream больше не связан с файлом и автоматически выделенная для буфера память освобождается.

В случае успеха функция fclose() возвращает 0; в противном случае возвращается ненулевое значение. Попытка закрытия уже закрытого файла является ошибкой.

Функция fcloseall() закрывает все открытые потоки, кроме stdin, stdout, stdaux, stdprn и stderr. Она не определена стандартом ANSI С.

Илон Маск рекомендует:  Круговая диаграмма
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL