Sobes.tech
Junior — Middle

Czy mógłbyś wyjaśnić cel i użycie funkcji fseek podczas pracy z plikami?

sobes.tech AI

Odpowiedź od AI

Funkcja fseek w C/C++ służy do przesuwania wskaźnika bieżącej pozycji odczytu/zapisu w pliku. Umożliwia ustawienie pozycji w pliku względem początku, bieżącej pozycji lub końca pliku, co jest przydatne do losowego dostępu do danych.

Składnia:

int fseek(FILE *stream, long offset, int whence);
  • stream — wskaźnik do pliku.
  • offset — przesunięcie w bajtach.
  • whence — punkt odniesienia, może przyjmować wartości:
    • SEEK_SET — początek pliku,
    • SEEK_CUR — bieżąca pozycja,
    • SEEK_END — koniec pliku.

Przykład użycia:

FILE *file = fopen("example.txt", "r");
if (file) {
    // Przesuń się o 10 bajtów od początku pliku
    fseek(file, 10, SEEK_SET);
    char buffer[100];
    fgets(buffer, sizeof(buffer), file);
    printf("Odczytana linia: %s", buffer);
    fclose(file);
}

W ten sposób fseek pozwala efektywnie zarządzać pozycją w pliku do odczytu lub zapisu.