PureBasic

OpenFile()

Синтаксис

Result = OpenFile(#File , Filename$ [, Flags])

Описание


Открывает файл для чтения/записи или создает новый файл, если он не существует.

Параметры

#File Номер, для идентификации файла. В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически.
Filename$ Имя, включая путь к файлу. Если имя файла не включает полный путь, оно интерпретируется относительно текущего каталога.
Flags (дополн.) Этот параметр может быть комбинацией следующих значений (с помощью оператора '|'):
  #PB_File_SharedRead : Открытый файл может быть считан другим процессом (только Windows).
  #PB_File_SharedWrite: Открытый файл может быть записан другим процессом (только Windows).
  #PB_File_Append     : Позиция указателя чтения/записи файла будет установлена в конце файла.
  #PB_File_NoBuffering: Существующая внутри PureBasic система буферизации файлов будет отключена для этого файла. 
                        функция FileBuffersSize() не может использоваться с этим файлом.
В сочетании с одним из следующих значений (следующие флаги влияют на поведение функций WriteString(), WriteStringN(), ReadString(), ReadCharacter() и WriteCharacter()):
  #PB_Ascii  : Все операции чтения/записи строк будут в ascii, если не указано иное (по умолч. для исполн. файла ASCII).
  #PB_UTF8   : Все операции чтения/записи строк будут в UTF-8, если не указано иное (по умолч. для исполн. файла Unicode).
  #PB_Unicode: Все операции чтения/записи строк будут в Unicode, если не указано иное.

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

Возвращает не нулевое значение, если файл был открыт успешно, в случае ошибки возвращает ноль. Если в качестве параметра #File использовалось значение #PB_Any, то в случае успеха будет возвращен сгенерированный Номер.

Комментарии

Эта функция не сработает и возвратит ноль, если файл не может быть открыт с разрешением на запись, например если файл имеет атрибут "только для чтения", или находится в файловой системе "только для чтения", такой как CD. Чтобы открыть файл только для чтения, используйте функцию ReadFile(). Чтобы перезаписать существующий файл новым и пустым файлом, используйте функцию CreateFile().

Указатель чтения/записи файла будет находится в начале файла. Чтобы добавить данные в конец файла, используйте флаг #PB_File_Append для установки указателя в конец файла.

Пример

If OpenFile(0, "Test.txt") ; открывает существующий файл или создаёт, если он пока не существует
    FileSeek(0, Lof(0)) ; прыгаем в конец файла (используется результат функции Lof())
    WriteStringN(0, "...Другая строка в конце.")
    CloseFile(0)
EndIf

См. также

CreateFile(), ReadFile(), CloseFile()

Поддерживаемые OS

Все

<- Lof() - Оглавление File - ReadAsciiCharacter()->