Program się wywala przy binary write
Ostatnio zmodyfikowano 2011-03-27 21:06
MrOsamaful Temat założony przez niniejszego użytkownika |
» 2011-03-27 15:11:53 Nic to nie dało... |
|
malan |
» 2011-03-27 19:34:52 Dobra. Mamy go. 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: 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 |
|
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();
|
|
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. |
|
1 « 2 » |