wczytywanie pliku binarnego

0

Dostałem za zadanie, wykonanie programu w C++, który wczyta plik binarny ok. 300Mb i zapisze w tablicach np. 10 pierwszych i 10 ostatnich bitów, w ok. 2 sek.

Prosiłbym o jakieś podpowiedzi, bo w sumie nawet nie wiem jak mógłbym zrobić prowizoryczny plik binarny, żeby na nim testować swój program.

Z góry dziękuję za pomoc i pozdrawiam

1

Prowizorycznym plikiem binarnym może być ten program który piszesz - exe.
Jesteś pewien co do 10 bitów a nie bajtów? Bo tablicy bitów w C nie istnieje zaś w C++ jest trochę powiedzmy "niedorobione" (wg mnie).
Generalnie:
otwierasz plik: fstream::open / fopen
wczytujesz pierwszych kilka bajtów: fstream::read / fread
przeskakujesz na koniec pliku kilka bajtów od końca: fstreem::seekg / fseek
wczytujesz ostatnie kilka bajtów: fstream::read / fread
zamykasz plik: fstream::close / fclose
Jeżeli na pewno chodzi o bity to dla 10 sztuk odczytujesz po dwa bajty:

  • ostatnie 6 bitów z pierwszego słowa ignorujesz;
  • bity z ostatniego słowa przesuwasz o 6 po czym ignorujesz ostatnie 6.

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