-
Уважаемый пользователь! Вы не представились системе! Для получения полного доступа к форуму войдите <ИЛИ> зарегистрируйтесь!
Спасибо.
-
База знаний:
Уроки-
Стандартные функции PAWN
-
Версия: 0.3.7
-
Версия: 0.3e
-
Версия: 0.3d
-
Версия: 0.3c
-
Версия: 0.3b
-
Версия: 0.3a
-
Автовызываемые функции
-
-
Плагины и инклуды
-
Уроки
От DEST
- fopen()
- fclose()
- ftemp()
- fremove()
- fwrite()
- fread()
- fputchar()
- fgetchar()
- fblockwrite()
- fblockread()
- fseek()
- flength()
- fexist()
- fmatch()
- http://laska-samp.biz/articles/pawn-book/opisanie-fynkcij/fileinc - не рекомендуется для перехода (агрессивная реклама)
- http://wiki.sa-mp.com/wiki/Работа_с_файлами
Обсудить / получить поддержку
Сейчас на дворе уже 2018 год и многие скажут, зачем мне работать с файлами, если я могу работать с mySQL (по поводу работы с ним урок также будет )? Не всегда я, например, прибегаю к использованию mySQL. Иногда мне требуется хранить небольшое количество информации и создавать таблицу для этого хлопотно. На мой взгляд, в использовании файлов ничего плохого нет.
Для работы с файлами в SA:MP необходимо подключить библиотеку a_samp, а в ней уже подключена file, в которой и содержаться все функции, а именно:
Вот о них мы сейчас и поговорим.
Небольшое описание функции:
Позволяет открыть файл для проведения операция над ним.
Параметры функции:
(const name[], mode=io_readwrite)
const name[] - имя файла, который требуется открыть.
mode - режим открытия файла.
Возможные режимы:
io_read : открытие файла в режиме чтения; файл должен существовать.
Внимание! Если файла не существует, то произойдет краш сервера.
io_write : создает новый файл.
io_readwrite : открывает файл в режиме чтения, если существует; создает файл, если он отсутствует.
io_append : открывает файл для дозаписи; если файла не существует, создаст его.
Возвращаемые значения:
Возвращает хэндл (Handle) созданного или открытого файла.
Пример использования:
new File: opennedfile = fopen("ExampleFile.txt", io_append);
Небольшое описание функции:
Закрывает Handle файла. Рекомендуется использовать после работы с ним.
Параметры функции:
(handle)
handle - хэнд файла, который надо закрыть. Хранит обычно переменная, используемая при открытии файла.
Возвращаемые значения:
Нет.
Пример использования:
fclose(opennedfile);
Небольшое описание функции:
Создает временный файл в папке tmp или temp, который удаляется после его закрытия функцией fclose().
Рекомендуется создать эти папки в scriptfiles, иначе использовании функции приведет к крашу сервера.
Файл открывается сразу в режиме readwrite - чтениезапись.
Параметры функции:
Нет.
Возвращаемые значения:
Вернет хэндл temp-файла.
Пример использования:
new File: opennedfile = ftemp();
Небольшое описание функции:
Удаляет существующий файл из папки. Может привести к крашу сервера, если файла не существует.
Параметры функции:
(const name[])
const name[] - имя файла для удаления.
Возвращаемые значения:
нет
Пример использования:
fremove("ExampleFile.txt");
Небольшое описание функции:
Читает один символ из файла. Чтобы прочитать весь файл, вам необходим цикл for или while.
Параметры функции:
(handle, &string, size = sizeof(&string), pack = false)
handle - хэндл файла, который открыт.
&string - строка, в которую запишется содержимое строки из файла.
size - размер строки (по умолчанию устанавливается размер строки, в которую записывается - sizeof(string))
pack - упаковка строки. По умолчанию false.
Возвращаемые значения:
Записывает содержимое в строку.
Пример использования:
// у нас есть файл ExampleFile.txt, содержащий 20 символов (по условию это неизвестно). new string[21], tempstring[2]; new File: opennedfile = fopen("ExampleFile.txt", io_read); new length = flength(opennedfile); for(new i; i < length; i++) { fread(opennedfile, tempstring); strcat(string, tempstring); } printf("Содержимое: %s", string);
Небольшое описание функции:
Записывает данные в файл.
Параметры функции:
(handle, const string[])
handle - Хэндл файла, который открыт.
const string[] - строка, которую хотим записать.
Пример использования:
fwrite(opennedfile, "Это содержимое будет записано в файл.");
Небольшое описание функции:
Записывает один символ в файл.
Параметры функции:
(handle, value, utf8=true)
handle - Хэндл открытого файла.
value - значение
utf8 - использовать ли УТФ8 (по умолчанию: ДА)
Возвращаемые значения:
нет
Пример использования:
fputchar(opennedfile, 'p', false);
Небольшое описание функции:
Читает один символ из файла. Начинает с текущего положения "пера" (fseek).
Параметры функции:
(handle, &value, utf8=true)
handle - Хэндл открытого файла
value - переменная, для хранения значения
utf8 - читать ли символ в кодировке УТФ8 (по умолчанию: ДА)
Возвращаемые значения:
нет специальных
Пример использования:
new string[2]; fgetchar(opennedfile, string, false);
Небольшое описание функции:
Записывает данные в двоичном формате, игнорируя концы строк и кодировку.
Параметры функции:
(handle, const buffer, size = sizeof buffer)
handle - Хэгдл открытого файла
buffer[] - данные для записи
size - количество ячеек
Возвращаемые значения:
нет
Пример использования:
fblockwrite(opennedfile, "PAWNO-RUS.RU - лучший форум о PAWN скриптинге", 256);
Небольшое описание функции:
Читает данные из файла в двоичном формате, игнорируя концы строк и кодировку.
Параметры функции:
(handle, buffer[], size = sizeof buffer)
handle - Хэндл открытого файла
buffer[] - буфер (переменная) для сохранения прочитанных данных в бинарном формате
size - размер буферф
Возвращаемые значения:
нет
Пример использования:
new string[256]; fblockread(opennedfile, string, sizeof(string));
Небольшое описание функции:
Перемещает "перо" (указатель) в файле. Перемещаться можно с начала файла, с конца и с текущего положения пера.
Параметры функции:
(handle, position=0, whence = seek_start)
handle - Хэндл открытого файла
position - перемещение по файлу
whence - откуда начинать. seek_start (по умолчанию) - сначала, seek_current - с текущего положения, seek_end - с конца.
Возвращаемые значения:
нет
Пример использования:
fseek(opennedfile, 25, seek_current); //переместится на 25 символов от текущего положения вперед
Небольшое описание функции:
Получает длину(кол-во символов) открытого файла.
Параметры функции:
(handle)
handle - Хэндл уже открытого файла.
Возвращаемые значения:
Вернет длину файла.
Пример использования:
new length = flength(opennedfile); printf("длина файла: %d", length);
Небольшое описание функции:
Проверяет, существует ли файл.
Параметры функции:
(const pattern[])
const pattern[] - имя файла для проверки.
Возвращаемые значения:
вернет есть ли файл (0 нет, 1 есть)
Пример использования:
if(fexist("ExampleFile.txt")) print("yes"); else print("no");
Небольшое описание функции:
Проверяет, содержится ли указанная часть в указанной строке.
Параметры функции:
(const name[], const pattern[], index = 0, size = sizeof name);
const name - имя проверяемого файла
const pattern - значение, которое следует найти
index - строка
size - размер
Возвращаемые значения:
возвращает true в случае успешного поиска и false в случае неуспешного.
Пример использования:
fmatch("ExampleFile.txt", "Pawno-rus.ru", 2, 40);
В статье использовались материалы следующих источников:
Войдите для возможности подписатьсяПодписчики 0
-