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

Program się wywala przy binary write

Ostatnio zmodyfikowano 2011-03-27 21:06
Autor Wiadomość
MrOsamaful
Temat założony przez niniejszego użytkownika
» 2011-03-27 15:11:53
Nic to nie dało...
P-29829
malan
» 2011-03-27 19:34:52
Dobra. Mamy go.
C/C++
output.write(( const char * ) opcodes[ 2 ], 1 );
Tym sposobem
ofstream::write
 odbiera
opcoeds[ 2 ]
 jako wskaźnik. Chcąc odczytać adres w nim zawarty (
* ptr
) wywala się, bo
opcoeds[ 2 ]
 nie przechowuje przecież żadnego adresu tylko wartość, trzy (3).
Popraw to na:
C/C++
output.write( & opcodes[ 2 ], 1 );

Tak przy okazji to Ci powiem, że musisz jeszcze popracować trochę nad kodem ;p. Deklarujesz (niepotrzebnie zresztą) zmienne globalne, utrudniasz sobie życie używając tablic typu char zamiast szablonu
std::string
, jak już używasz tych tablic (np.
plikWejsciowy
), to olewasz to, że są w nich śmieci, nie sprawdzasz też, czy plik otwarto poprawnie. Złe nawyki trzeba tępić ;p
P-29846
MrOsamaful
Temat założony przez niniejszego użytkownika
» 2011-03-27 20:51:21
Nie działa :P

@EDIT
Zapisuje, ale program nadal się wywala i tylko 1 bajt będzie można zapisać :P, myślę że problem może też być z tokenizerem....

output.write(&opcodes[2], sizeof(opcodes[2]));
output.close();
P-29855
malan
» 2011-03-27 21:06:21
Masz jeszcze jeden błąd w kodzie - może przez to Ci się wywala. Mi tam działa - później wrzucę log.
P-29856
1 « 2 »
Poprzednia strona Strona 2 z 2