.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 1990, 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Chris Torek and the American National Standards Committee X3, .\" on Information Processing Systems. .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\" @(#)fseek.3 6.11 (Berkeley) 6/29/91 .\" .\" Converted for Linux, Mon Nov 29 15:22:01 1993, faith@cs.unc.edu .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH fseek 3 "20 июля 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ fgetpos, fseek, fsetpos, ftell, rewind \- меняют положение в потоке .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .PP \fBint fseek(FILE *\fP\fIstream\fP\fB, long \fP\fIoffset\fP\fB, int \fP\fIwhence\fP\fB);\fP \fBlong ftell(FILE *\fP\fIstream\fP\fB);\fP .PP \fBvoid rewind(FILE *\fP\fIstream\fP\fB);\fP .PP \fBint fgetpos(FILE *restrict \fP\fIstream\fP\fB, fpos_t *restrict \fP\fIpos\fP\fB);\fP \fBint fsetpos(FILE *\fP\fIstream\fP\fB, const fpos_t *\fP\fIpos\fP\fB);\fP .fi .SH ОПИСАНИЕ Функция \fBfseek\fP() устанавливает положение файлового индикатора в потоке, на который указывает аргумент \fIstream\fP. Новое положение (в байтах) получается прибавлением \fIoffset\fP байтов к положению, которое задаётся параметром \fIwhence\fP. Если значение \fIwhence\fP равно \fBSEEK_SET\fP, \fBSEEK_CUR\fP или \fBSEEK_END\fP, то смещение указывается относительно начала файла, текущего положения указателя или конца файла, соответственно. Успешный вызов функции \fBfseek\fP() очищает (clear) индикатор конца файла потока и отменяет влияние функции \fBungetc\fP(3) на этот же поток. .PP Функция \fBftell\fP() возвращает текущее значение файлового индикатора положения для потока, на который указывает \fIstream\fP. .PP Функция \fBrewind\fP() устанавливает файловый индикатор положения для потока, на который указывает \fIstream\fP, равным началу файла. Эта функция эквивалентна вызову: .PP .RS (void) fseek(stream, 0L, SEEK_SET) .RE .PP хотя в этом случае также сбрасывается индикатор ошибок потока (смотрите \fBclearerr\fP(3)). .PP Функции \fBfgetpos\fP() и \fBfsetpos\fP() эквивалентны \fBftell\fP() и \fBfseek\fP() (где значение \fIwhence\fP равно \fBSEEK_SET\fP); они сохраняют или устанавливают текущее значение файлового смещения в объектах, определяемых \fIpos\fP. В некоторых не\-UNIX системах объект \fIfpos_t\fP может быть сложным объектом, а данные функции могут быть единственным переносимым способом изменения положения в текстовом потоке. .PP If the stream refers to a regular file and the resulting stream offset is beyond the size of the file, subsequent writes will extend the file with a hole, up to the offset, before committing any data. See \fBlseek\fP(2) for details on file seeking semantics. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" Функция \fBrewind\fP() не возвращает значений. При успешном выполнении функции \fBfgetpos\fP(), \fBfseek\fP(), \fBfsetpos\fP() возвращают 0, а \fBftell\fP() возвращает значение текущего смещения. В противном случае возвращается \-1, а в \fIerrno\fP записывается соответствующий код ошибки. .SH ОШИБКИ .TP \fBEINVAL\fP Значение \fIwhence\fP в \fBfseek\fP() не равно \fBSEEK_SET\fP, \fBSEEK_\fP или \fBSEEK_CUR\fP. Или результирующее смещение файла получается отрицательным. .TP \fBESPIPE\fP Связанный со \fIstream\fP файловый дескриптор не допускает перемоток (верно для каналов, FIFO или сокетов). .PP При ошибках функции \fBfgetpos\fP(), \fBfseek\fP(), \fBfsetpos\fP() и \fBftell\fP() устанавливают значение \fIerrno\fP равным значению, определённому в функциях \fBfflush\fP(3), \fBfstat\fP(2), \fBlseek\fP(2) и \fBmalloc\fP(3). .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBfseek\fP(), \fBftell\fP(), \fBrewind\fP(), \fBfgetpos\fP(), \fBfsetpos\fP() T} Безвредность в нитях MT\-Safe .TE .sp 1 .SH СТАНДАРТЫ C11, POSIX.1\-2008. .SH ИСТОРИЯ POSIX.1\-2001, C89. .SH "СМ. ТАКЖЕ" \fBlseek\fP(2), \fBfseeko\fP(3) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Azamat Hackimov , Dmitry Bolkhovskikh , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .