Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Работаем с файлами

Статус
В этой теме нельзя размещать новые ответы.

ninoiw0w~

Новичок
[FAQ] 1.Теоретические основы работы с файлами


Смысл урока - работа с файлами с помощью встроенных в SA-MP функций.


Начнем с примера:​

Код:
fopen(const name[], filemode: mode = io_readwrite);
Функция служит для открытия файла и передачи ссылки на него для дальнейшей работы.

Теперь надо разобраться, что есть что: name[] - имя отрываемого файла. filemode - способ открытия, по умолчанию io_readwrite.

Подробнее о fopen и все что с ними связано:​

Код:
fclose(File: handle); Функция служит для закрытия работы с файлом. 
( входными параметрами являются: handle - ссылка полученная функцией fopen )
Код:
fremove(const name[]); Функция служит для удаления файла, если файл не возможно удалить, то вернёт false. 
( входными параметрами являются: name[] - имя включающее в себя и путь до файла )
Код:
fwrite(File: handle, const string[]); Функция служит для записи содержимого массива в файл. 
( входными параметрами являются: handle - ссылка полученная функцией fopen string[] - записываемый массив )
Код:
fread(File: handle, string[], size = sizeof string, bool: pack = false); Функция служит для чтения построчно данных из файла. 
( входными параметрами являются: handle - ссылка полученная функцией fopen string[] - массив куда будут записываться считанные данные size - количество считываемых в строке байт pack - запаковывать-ли строку )
Код:
fexist(const pattern[]); Функция служит для проверки существования файла pattern[] - имя проверяемого файла включающее в себя и путь до файла.
Подробнее о io_readwrite и все что с ними связано:​

Код:
io_read - открывает файл с возможностью чтения, если файл не существует то произойдёт краш сервера. 
io_write - открывает файл и перезаписывает всё его содержимое. 
io_readwrite - открывает файл с возможностью чтения/записи, если файл не существует, то создаёт его. 
io_append - открывает файл с возможностью дозаписи файла, если файл не существует, создаёт его.
Примеры работы с файлами


Пример чтения строки из файла:​

Код:
stock ReadOneString(file[],tostring[]) 
{ 
if(!fexist(file)) return -1; 
new File:opnfile; 
opnfile=fopen(file,io_read); 
fread(opnfile,tostring); 
fclose(opnfile); 
return 1; 
}

Теперь разберем, что есть что в вышеуказанном примере:​

Код:
if(!fexist(file)) return -1; - проверяем наличие файла file, если он не существует то прекращаем выполнение функции и возвращаем значение -1. 

new File:opnfile; - создаём файловую переменную. 

opnfile=fopen(file,io_read); - открываем файл file с возможностью чтения и записываем его идентификатор в opnfile. 

fread(opnfile,tostring); - читаем первую строку из файла и записываем её в tostring. 

fclose(opnfile); - закрываем работу с файлом. 

return 1; - возвращаем 1 давая знать что всё прошло успешно.
Пример чтения строки в файл:​

Код:
stock WriteOneString(tofile[],string[])
{ 
new File:opnfile; 
opnfile=fopen(tofile,io_append); 
fwrite(opnfile,string); 
fclose(opnfile); 
return 1; 
}

Теперь разберем, что есть что в вышеуказанном примере:​

Код:
if(!fexist(file)) return -1; - проверяем наличие файла file, если он не существует то прекращаем выполнение функции и возвращаем значение -1. 

new File:opnfile; - создаём файловую переменную. 

opnfile=fopen(tofile,io_append); - открываем файл с параметром io_append. 

fwrite(opnfile,string); - записываем в файл строку string. 

fclose(opnfile); - закрываем работу с файлом. 

return 1; - возвращаем 1 давая знать что всё прошло успешно.
Источник: wiki.wiki.pawno-info.ru

Урок закончен, в ближайшее время будет урок № 2.​
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу