Zamiana char na int (pewne problemy)
Ostatnio zmodyfikowano 2012-02-18 13:27
Trix Temat założony przez niniejszego użytkownika |
Zamiana char na int (pewne problemy) » 2012-02-17 21:54:19 Wszystkie liczby zapisane są w BYTE *byte (odczyt danych z pliku) Zamieniam dane na int tak: ( byte[ 0 ] - 48 ) * 1000 +( byte[ 1 ] - 48 ) * 100 +( byte[ 2 ] - 48 ) * 10 +( byte[ 3 ] - 48 )
Wszystko jest w porządku aż do momentu gdy dojdę do buffer[54]-48 i w górę, zamiast pożądanej cyfry pokazuje mi 156, obojętnie czy powinno pokazać 1,2 czy 3, spr. czy są zapisane te cyfry w pliku i okazało się, że są :| |
|
m4tx |
» 2012-02-18 09:48:07 Pokaż cały kod... Swoją drogą trochę bez sensu to zamieniasz. |
|
Trix Temat założony przez niniejszego użytkownika |
» 2012-02-18 12:47:26 Podczas przepisywania kodu znalazłem błąd :) Źle było obliczane wielkość pliku :)
P.S. Nie ma jakieś gotowej funkcji czytającej ilość znaków w pliku? Nie wiem z jakiej biblioteki te funkcje się wywodzą ale fread czyta plik.
|
|
xevuel |
» 2012-02-18 12:54:11 |
|
Trix Temat założony przez niniejszego użytkownika |
» 2012-02-18 13:22:23 Tylko jak napisałem nie korzystam z fstream :>
W msdn znalazłem :) |
|
szyx_yankez |
» 2012-02-18 13:27:03 Funkcja fread jest z cstdio .
Rozmiar pliku możesz odczytać tak:
pFile = fopen( "myfile.txt", "rb" ); fseek( pFile, 0, SEEK_END ); int size = ftell( pFile ); rewind( pFile ); cout << size;
|
|
« 1 » |