fread

Материал из Pro-Pawn Wiki
Перейти к: навигация, поиск

Описание:

Считывает строку из файла.

Параметры:

(File: handle, string[], size = sizeof string, bool: pack = false)
File: handle Хендл открытого файла.
string[] Буфер для записи считанной из файла строки.
size Размер массива string (необязательный параметр).
bool: pack Указывает функции, следует ли сохранить считанную строку в упакованном виде (необязательный параметр; по умолчанию строка возвращается в неупакованном виде).


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

Количество символов, считанных из файла (включая символ '\n' в конце строки). Сама строка возвращается косвенно через массив string.

Bug.png
Баг Pawn
Попытка передать функции неправильный хендл (т.е. не возвращённый функциями fopen() или ftemp(), либо уже закрытый с помощью fclose()) приводит к падению сервера.


Info rhombus.png
Примечание
Строка из файла считывается до тех пор, пока в файле не будет достигнут перенос строки (т.е. один из 3 вариантов: '\r', '\n' или '\r\n'), конец файла или пока в буфере string не закончится свободное место. Если был достигнут перенос строки, он будет добавлен в конец строки (в том варианте, в котором он был встречен в файле), сохранённой в буфере.


Пример использования:

main()
{
    // Создадим пустой файл и запишем в него строку
    new File: f = fopen("1.txt", io_write);
    fwrite(f, "abcd");
    fclose(f);

    // Откроем файл, считаем строку и выведем её в консоль
    new buffer[128];
    new File: f = fopen("1.txt", io_read);
    fread(f, buffer);
    fclose(f);
    print(buffer); // Вывод: "abcd"
}


См. также: