---
title: "fseek | open.mp"
description: "Change the current position in the file."
canonical: https://omp.itsneufox.com/docs/scripting/functions/fseek
language: en
---

# fseek

## Description

Change the current position in the file. You can either seek forward or backward through the file.

| Name | Description |
| --- | --- |
| File:handle | The file handle to use. Returned by fopen. |
| position | The new position in the file, relative to the parameter whence (see below). |
| [seek\_whence:whence](https://omp.itsneufox.com/docs/scripting/resources/file-seek-whence) | The starting position to which parameter position relates. |

## Returns

The new position; relative to the start of the file.

## Examples

```c
// Open "file.txt" in "read only" mode
new File:handle = fopen("file.txt", io_read);

// If "file.txt" is open
if (handle)
{
    // Success

    // Jump to the 1st byte of "file.txt", and print its position
    printf("Begin of file position: %d", fseek(handle, 0, seek_start));

    // Jump to the last byte of "file.txt", and print its position
    printf("End of file position: %d", fseek(handle, 0, seek_end));

    // Jump to the same byte of "file.txt", and print its position
    printf("Currrent file position: %d", fseek(handle, 0, seek_current));

    // Close "file.txt"
    fclose(handle);
}
else
{
    // Error
    print("Failed to open \"file.txt\".");
}
```

## Notes

warning

Using an invalid handle will crash your server! Get a valid handle by using [fopen](https://omp.itsneufox.com/docs/scripting/functions/fopen) or [ftemp](https://omp.itsneufox.com/docs/scripting/functions/ftemp).

## Related Functions

-   [fopen](https://omp.itsneufox.com/docs/scripting/functions/fopen): Open a file.
-   [fclose](https://omp.itsneufox.com/docs/scripting/functions/fclose): Close a file.
-   [ftemp](https://omp.itsneufox.com/docs/scripting/functions/ftemp): Create a temporary file stream.
-   [fremove](https://omp.itsneufox.com/docs/scripting/functions/fremove): Remove a file.
-   [fwrite](https://omp.itsneufox.com/docs/scripting/functions/fwrite): Write to a file.
-   [fread](https://omp.itsneufox.com/docs/scripting/functions/fread): Read a file.
-   [fputchar](https://omp.itsneufox.com/docs/scripting/functions/fputchar): Put a character in a file.
-   [fgetchar](https://omp.itsneufox.com/docs/scripting/functions/fgetchar): Get a character from a file.
-   [fblockwrite](https://omp.itsneufox.com/docs/scripting/functions/fblockwrite): Write blocks of data into a file.
-   [fblockread](https://omp.itsneufox.com/docs/scripting/functions/fblockread): Read blocks of data from a file.
-   [flength](https://omp.itsneufox.com/docs/scripting/functions/flength): Get the file length.
-   [fexist](https://omp.itsneufox.com/docs/scripting/functions/fexist): Check, if a file exists.
-   [fmatch](https://omp.itsneufox.com/docs/scripting/functions/fmatch): Check, if patterns with a file name matches.
-   [ftell](https://omp.itsneufox.com/docs/scripting/functions/ftell): Get the current position in the file.
-   [fflush](https://omp.itsneufox.com/docs/scripting/functions/fflush): Flush a file to disk (ensure all writes are complete).
-   [fstat](https://omp.itsneufox.com/docs/scripting/functions/fstat): Return the size and the timestamp of a file.
-   [frename](https://omp.itsneufox.com/docs/scripting/functions/frename): Rename a file.
-   [fcopy](https://omp.itsneufox.com/docs/scripting/functions/fcopy): Copy a file.
-   [filecrc](https://omp.itsneufox.com/docs/scripting/functions/filecrc): Return the 32-bit CRC value of a file.
-   [fattrib](https://omp.itsneufox.com/docs/scripting/functions/fattrib): Set the file attributes.
-   [fcreatedir](https://omp.itsneufox.com/docs/scripting/functions/fcreatedir): Create a directory.

## Related Resources

-   [File Seek Whence](https://omp.itsneufox.com/docs/scripting/resources/file-seek-whence)
