działania na plikach, fscanf,fprintf

0

Witam, czy istnieje sposób by po tym jak pierwsza funkcja przeczyta plik txt druga funkcja która korzysta z tego samego pliku mogła go czytać (fscanf) od początku?

1

Masz na myśli przesunięcie wskaźnika na początek pliku?

fseek(fp, 0, SEEK_SET);
0

Dzięki, działa :)

1

Skoro chcesz czytać plik dwa razy, to może warto wspomnieć, że możesz zmapować część pliku do pamięci, wtedy masz prosty dostęp do każdego kawałka pliku. Tyle tylko, że to jest zależne od platformy, na linuksie służy do tego funkcja mmap() (co do Windowsa, tu coś jest https://docs.microsoft.com/pl-pl/windows/desktop/Memory/file-mapping). Nie wiem jak na windowsie, ale na linuksie użycie tego jest bardzo proste i zresztą to samo polecenie jest używane w implementacji wspomnianych przez ciebie funkcji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1