Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Obsluga plików binarnych

Ostatnio zmodyfikowano 2018-07-05 13:09
Autor Wiadomość
zxprog
Temat założony przez niniejszego użytkownika
Obsluga plików binarnych
» 2018-07-05 10:26:02
Witam

Próbuje skompilować program który wczyta plik binarny plik.bin i następnie wyświetli zapisane dane od podanego adresu
Znalazłem przykładowy program i próbuje go edytować na swoje potrzeby, niestety kompilacja zatrzymuje się na  plik.seekg( iPozycjaStartowa );

Poniżej kod programu
C/C++
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
   
    ofstream plik( "plik.bin", ios::binary );
    if( !plik.good() )
         return 0;
   
    int iPozycjaStartowa = 0;
    plik.seekg( iPozycjaStartowa );
   
    int iLiczba;
    plik >> iLiczba;
   
    int iWczytanychZnakow = plik.tellg() - iPozycjaStartowa;
    cout << "Liczba: " << iLiczba << endl;
    cout << "Wczytano " << iWczytanychZnakow << " znakow" << endl;
    return 0;
}
 

Tak wyglądają dane w moim pliku plik.bin w hex:

31 31 31 31 31 2D 32 32 32 32 32 2D 33 33 33 33
33 2D 34 34 34 34 34 2D 35 35 35 35 35 35 35 2D
36 36 36 36 36 2D 37 37 37 37 37 2D 38 38 38 38
38

A tak tekstowo:
11111-22222-3333
3-44444-5555555-
66666-77777-8888
8
P-171747
pekfos
» 2018-07-05 11:51:35
std::ofstream służy wyłącznie do zapisu.

A tak tekstowo:
11111-22222-3333
3-44444-5555555-
66666-77777-8888
8
No to niezbyt "binarny" ten twój plik..
Zapis binarny
P-171748
zxprog
Temat założony przez niniejszego użytkownika
» 2018-07-05 12:10:42
Ok już jest dobrze, zmieniłem na ifstream

Teraz co muszę zrobić aby wczytywało dane od podanego adresu startowego do podanego końcowego a następnie zapisało odczytane dane w pliku tekstowym przekonwertowane na format tekstowy czyli z Hex na ASCII

Plik jest binarny. Wartości tekstowe podałem wyświetlone przez program HxD
P-171749
pekfos
» 2018-07-05 12:13:51
Plik jest binarny. Wartości tekstowe podałem wyświetlone przez program HxD
A jak otworzysz ten plik notatnikiem, to co niby zobaczysz?
P-171750
zxprog
Temat założony przez niniejszego użytkownika
» 2018-07-05 12:56:48
To inny plik dla przykładu
Tak wygląda w hex

01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00
1D 00 00 00 45 52 46 47 36 2D 54 32 44 43 44 2D
44 52 47 34 35 2D 42 33 34 35 36 2D 54 33 42 33
33

tak w HXD jako ASCII
................
....ERFG6-T2DCD-
DRG45-B3456-T3B3
3

a tak otworzony w notatniku na początku są krzaki kwadraty,

                 ERFG6-T2DCD-DRG45-B3456-T3B33

P-171751
pekfos
» 2018-07-05 13:09:05
Użyj read() i write().
Zapis binarny
P-171752
« 1 »
  Strona 1 z 1