| setpos | <STDIO.H> |
|
Składnia: int fsetpos(FILE *stream, const fpos_t *pos);
gdzie: stream - wskaźnik do strumienia, w którym zmieniamy pozycje wskaźnika. pos - pozycja wskaźnika zapamiętana przez ostanie wywołanie fgetpos. Opis Zwracana wartość:
Przykład:
#include <stdio.h>
void wyswietl_wskaznik(FILE *stream)
{ fpos_t pos;
fgetpos(stream, &pos);
printf("Aktualna pozycja w pliku: %ld\n", pos);
}
int main(void)
{ FILE *stream;
fpos_t pos;
stream = fopen("TEST.$$$", "w+");
fgetpos(stream, &pos); // zapamiętanie wskaźnika
fprintf(stream, "To jest test...");
wyswietl_wskaznik(stream); // wyświetlenie wskaźnika
if (fsetpos(stream, &pos) == 0) // przywrócenie wskaźnika
wyswietl_wskaznik(stream);
else
{ fprintf(stderr, "Błąd przywracania wskaźnika.\n");
exit(1);
}
fclose(stream);
return 0;
}
|
|
| fseek | <STDIO.H> |
|
Składnia: int fseek(FILE *stream, long ile, int skąd);
gdzie: stream - wskaźnik do strumienia, w którym zmieniamy pozycje wskaźnika. ile - różnica między skąd i nową pozycją wskaźnika. Wartość dodatnia przesuwa wskaźnik w stronę końca pliku, a ujemna - początku. skąd - miejsce w pliku, od którego ma byc liczona wartość ile:
Opis Zwracana wartość:
Przykład:
#include <stdio.h>
int main(void)
{ FILE *stream;
long curpos;
stream = fopen("TEST.$$$", "w+");
fprintf(stream, "To jest test...");
curpos = ftell(stream);
fseek(stream, 0L, 2); // ustawia wskaźnik na końcu pliku
printf("Wielkość pliku: %ld bajtów\n", ftell(stream));
fseek(stream, curpos, 0); // przywraca poprzednią pozycję wskaźnika
fclose(stream);
return 0;
}
|
|
| rewind | <STDIO.H> |
|
Składnia: void rewind(FILE *stream);
gdzie: stream - wskaźnik do strumienia, w którym zmieniamy pozycje na początek pliku. Opis Zwracana wartość: brak Przykład:
#include <stdio.h>
int main(void)
{ FILE *stream;
char znak;
stream = fopen("TEST.$$$","w+");
fprintf(stream, "abcdefghijklmnopqrstuvwxyz");
rewind(stream);
fscanf(stream, "%c", &znak);
printf("Pierwszy znak w pliku: %c\n", znak);
fclose(stream);
return 0;
}
|
|