DejaVu |
» 2009-02-28 18:38:32 Czyli wszystko już Ci działa? |
|
invisiblekid Temat założony przez niniejszego użytkownika |
» 2009-03-01 14:54:26 Powiedzmy :/ Kompiluje sie, owszem, ale to wcale nie znaczy, że działa. Jak już pisałem program się uruchamia ale (jeśli coś chce wpisać- bo jeśli wcisnę dwa razy enter to sie zamknie bez błędu) to wyskakuje błąd systemu windows, i mean taki komunikat: "Program przestał działać poprawnie z powodu wystąpienia problemu. System Windows zamknie program i powiadomi Cię, jeśli istnieje dostępne rozwiązanie." Rozwiązanie chyba jednak nie znajduje :P Dodam jeszcze, że gdy w programie nie używałem vectora (ładowałem cały szyfr od zmiennej long- ale było to z deka ograniczone) to problemu nie było. Możliwe, że wynika to z zaproponowanego przez Pana rozwiązania: a mianowicie rzutowania vector<int> na char (ja w każdej "komórce" tego vectora mam liczbę trzy-cyfrową), wiec może dlatego się tnie. Jeśli istnieje jakieś znane Wam rozwiązanie, będę wdzieczny.
/edit: chyba jednak nie zależy od tego rzutowania, w każdym razie nie z faktu, że trzycyfrową liczbę convertuje na char- usunąłem linijkę gdzie dopisuje do zmiennej kodon pozostałe dwie cyfry i tez sie wiesza. DAMN |
|
DejaVu |
» 2009-03-01 15:23:35 Nic dziwnego, że Ci nie działa. W funkcji coding masz błąd. Zamień: tab[ i ] = kodon; na coś takiego: tab.push_back( kodon ); |
|
invisiblekid Temat założony przez niniejszego użytkownika |
» 2009-03-01 15:31:36 no jasne :P ale człowiek potrafi zrobić głupotę czasem, a potem taki błąd najtrudniej znaleźć. :P swoją drogą dziwne, że się skompilowało. Tylko że , teraz powstał następny problem na skutek (tu już chyba jestem pewien) owego rzutowania, a mianowicie wynik jaki się wyswietla w pilku po wpisaniu slowa "pawel" jest taki: ` á = ˙ 6 Nie bardzo przypomina on postać kilku cyferek :/ |
|
DejaVu |
» 2009-03-01 15:35:01 To jest oczywiste - dane zapisujesz binarnie, więc czy to będzie liczba 0, 123 czy też 123123124243 to zawsze będzie ona w pliku zajmowała 4 bajty.
/edit: Co do kompilacji... kompilator informuje o błędach składniowych, a nie o błędach logicznych. Składniowo program był poprawnie napisany, więc się skompilował. |
|
invisiblekid Temat założony przez niniejszego użytkownika |
» 2009-03-01 15:38:31 Dobra, zrobiłem taki myk: zmiast: plik.write(( char * ) & tab[ 0 ], tab.size() * sizeof( int ) ); dałem for( int i = 0; i < tab.size(); i++ ) plik << tab[ i ]; I działa. Natomiast już z czystej ciekawości chciałbym sie dowiedzieć jak to zrobić tą pierwszą metodą (przy użyciu plik.write()), jeśli of crs się da :D /edit: chyba sie spóźniłem :P |
|
invisiblekid Temat założony przez niniejszego użytkownika |
» 2009-03-01 16:05:46 Myślałem, jak zmienić zpis tych liczb z binarnego na dziesiętny, ale nic narazie nie wymyśliłem, wieć jakby mógł Pan napisać jakieś rozwiązanie byłbym wdzięczny. Jeśli o mnie chodzi to znam (chyba, że nie pamietam o innych) tylko manipulatory odnaszące się do strumienia cout, a to chyba się tak nie bedzie dało, czyż nie? |
|
DejaVu |
» 2009-03-01 16:36:11 Napisałem Ci rozwiązanie już dużo wcześniej. Masz cały gotowy program do zapisu i odczytu. |
|
1 « 2 » |