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.