Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: GeorgeIV   (30.04.2009 в 10:22)
Moves the file pointer to a specified location.

 
int fseek
   FILE *stream,
   long offset,
   int origin 
);
int _fseeki64
   FILE *stream,
   __int64 offset,
   int origin 
);
 


Parameters
stream
Pointer to FILE structure.

offset
Number of bytes from origin.

origin
Initial position.

Return Value
If successful, fseek and _fseeki64 returns 0. Otherwise, it returns a nonzero value. On devices 
incapable of seeking, the return value is undefined. If stream is a null pointer, or if origin is not one
 of allowed values described below, fseek and _fseeki64 invoke the invalid parameter handler, as 
described in Parameter Validation. If execution is allowed to continue, these functions set errno to 
EINVAL and return -1.

Remarks
The fseek and _fseeki64 functions moves the file pointer (if any) associated with stream to a new 
location that is offset bytes from origin. The next operation on the stream takes place at the new 
location. On a stream open for update, the next operation can be either a read or a write. 
The argument origin must be one of the following constants, defined in STDIO.H: 

SEEK_CUR
Current position of file pointer.

SEEK_END
End of file.

SEEK_SET
Beginning of file.

You can use fseek and _fseeki64 to reposition the pointer anywhere in a file. 
The pointer can also be positioned beyond the end of the file. 
fseek and _fseeki64 clears the end-of-file indicator and 
negates the effect of any prior ungetc calls against stream.

When a file is opened for appending data, the current file position is determined by the last I/O
 operation, not by where the next write would occur. If no I/O operation has yet occurred on a file
 opened for appending, the file position is the start of the file. 

For streams opened in text mode, fseek and _fseeki64 have limited use, because carriage return
linefeed translations can cause fseek and _fseeki64 to produce unexpected results. The only 
fseek and _fseeki64 operations guaranteed to work on streams opened in text mode are: 

Seeking with an offset of 0 relative to any of the origin values.

Seeking from the beginning of the file with an offset value returned from a call to ftell when using 
fseek or _ftelli64 when using _fseeki64.

Also in text mode, CTRL+Z is interpreted as an end-of-file character on input. In files opened for
 reading/writing, fopen and all related routines check for a CTRL+Z at the end of the file and remove
 it if possible. This is done because using the combination of fseek and ftell or _fseeki64 and 
_ftelli64, to move within a file that ends with a CTRL+Z may cause fseek or _fseeki64 to behave improperly near the end of the file. 

This function locks out other threads during execution and is therefore thread-safe. For a non-
locking version, see _fseek_nolock, _fseeki64_nolock.


Т.е. указываешь смещение и откуда его считать.


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: