fseek

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

Описание:

Устанавливает текущую позицию в файле.

Параметры:

(File: handle, position = 0, seek_whence: whence = seek_start)
File: handle Хендл открытого файла.
position Смещение относительно позиции, указанной в параметре whence (необязательный параметр).
seek_whence: whence Позиция перехода, к которой добавляется смещение в параметре position (необязательный параметр; по умолчанию переход происходит в начало файла).


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

0 в случае успеха и ненулевое значение в случае ошибки.

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


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

main()
{
    new File:f;
    new buffer[128];

    // Создадим пустой файл
    f = fopen("1.txt", io_write);
    fclose(f);

    // Откроем файл заново, но теперь уже в режиме чтения/записи
    f = fopen("1.txt", io_readwrite);

    // Запишем строку и перейдём к 2-му байту файла
    // (т.е. в начало файла со смещением 2)
    fwrite(f, "123456");
    fseek(f, 2, seek_start);

    // Считаем строку из файла и выведем её в консоль
    fread(f, buffer);
    print(buffer); // Должно получиться "3456"

    // Перейдём к концу файла
    fseek(f, 0, seek_end);

    // Закроем файл
    fclose(f);
}


См. также: