Функции заголовочных файлов Pawn
Функции для работы с файлами (file.inc)
Вы также можете почитать File Functions чтобы потренироваться в этом.
Fblockread
Эта функция позволяет Вам прочитать данные из файла без кодируюищих и завершающих символов (в двоичном формате)
(handle,buffer[],size=sizeof buffer)
handle | Используемый handle файла, открытый функцией fopen() |
buffer[] | Буфер для сохранения прочитанных данных. |
size=sizeof buffer | Число ячеек для чтения. |
fblockread(gFile, string, 256);
Fblockwrite
Записывает данные в файл в двоичном формате, игнорируя концы строк и кодировку.
(handle,const buffer[],size=sizeof buffer)
handle | Используемый handle файла, открытый функцией fopen(). |
const buffer[] | Данные для записи в файл. |
size=sizeof buffer | Число ячеек для записи. |
fblockwrite(gFile, "Save this data!", 15);
Fclose
Закрывает handle файла, ранее открытый функцией fopen. Очень важно использовать эту функцию псоле того, как вы закончили чтение/запись!
(handle)
handle | Закрываемый handle файла, открытый функцией fopen(). |
fclose(gFile);
Fexist
Проверяет, есть ли указанный файл в папке с Вашими скриптами.
|
|
(const pattern[])
const pattern[] | Имя файла для проверки на существование. |
Возвращает | 1 - если файл существует, 0 - если нет. |
if(fexist("datafile.txt")){
Fgetchar
Эта функция читает один символ из файла и сохраняет его в переменной, переданной по ссылке.
(handle,&value,utf8=true)
handle | Используемый handle файла, открытый функцией fopen(). |
&value | Переменая, в которую запишется символ. |
utf8=true | Прочитать символ в кодировке UTF8. |
fgetchar(gFile, handle, false);
Flength
Проверяет длину уже открытого файла.
(handle)
handle | Используемый handle файла, открытый функцией fopen(). |
Возвращает | Длина файла в байтах. |
new fileLength = flength(gFile);
Fmatch
Эта функция проверяет, соответствует ли часть данного файла указанной строке.
(name[],const pattern[],index=0,size=sizeof name)
name[] | Имя проверяемого файла. |
const pattern[] | Шаблон соответствия. |
index=0 | Смещение для начала поиска. |
size=sizeof name | Количество символов, в которых будет производится поиск. |
fmatch("searchFile.txt", "Peter", 0);
Fopen
Открывает указанный файл для чтения, записи или для обеих операций. Эта функция нужна для большинства файловых функций.
Важное замечание: Эта функция может привести к вылету Вашей игры, когда папка с скриптами или файл в ней не существуют.
(const name[],mode=io_readwrite)
const name[] | Имя файла, который Вы хотите открыть. |
mode=io_readwrite | Режим, в котором вы хотите открыть файл. |
Возвращает | Handle файла. |
new File:gFile = fopen("exampleFile.txt", io_readwrite);
Доступные режимы открытия файла:
Description | |
io_write | Записывает в файле, очищает весь ранее записаный текст |
io_read | Читает файл, файл должен существовать или краш сервера |
io_append | Добавление в файл, только запись |
io_readwrite | Читает файл или создаёт новый |
fputchar
|
|
Эта функция записывает один символ в файл.
(handle,value,utf8=true)
handle | Используемый handle файла, открытый функцией fopen(). |
value | Символ, который вы хотите записать. |
utf8=true | Должен ли символ быть записан в кодировке UTF8? |
fputchar(gFile, 'e', false);
Fread
Используйте эту функцию, если Вы хотите прочитать строку из файла. Вам понадобится цикл for или while для чтения нескольких строк.
(handle,&string[],size=sizeof string,pack=false)
handle | Используемый handle файла, открытый функцией fopen(). |
&string[] | Переданная по ссылке строка, в которую запишутся данные. |
size=sizeof string | Число байт для чтения. |
pack=false | Должна ли строка быть запакованной? |
fread(gFile, string, sizeof(string));