ninoiw0w~
Новичок
[FAQ] 1.Теоретические основы работы с файлами
Смысл урока - работа с файлами с помощью встроенных в SA-MP функций.
Начнем с примера:
Смысл урока - работа с файлами с помощью встроенных в SA-MP функций.
Начнем с примера:
Код:
fopen(const name[], filemode: mode = io_readwrite);
Функция служит для открытия файла и передачи ссылки на него для дальнейшей работы.
Теперь надо разобраться, что есть что: name[] - имя отрываемого файла. filemode - способ открытия, по умолчанию io_readwrite.
Подробнее о fopen и все что с ними связано:
Теперь надо разобраться, что есть что: 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 давая знать что всё прошло успешно.
Последнее редактирование:
