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

Odczytywanie danych z pliku.

Ostatnio zmodyfikowano 2014-05-03 16:46
Autor Wiadomość
Kudłaty
Temat założony przez niniejszego użytkownika
» 2014-05-03 16:15:21
Teraz jest pełen kod:
C/C++
#include <iostream>
#include <fstream>

int main()
{
    int liczby[ 10 ];
    char a;
    int i = 0;
    std::fstream dane;
    dane.open( "dane.txt", std::ios::in | std::ios::out );
   
    while( i < 10 )
    {
        a = dane.get();
        if( dane.good() )
        {
            liczby[ i ] = static_cast < int >( a );
            std::cout << a << std::endl;
            std::cout << liczby[ i ] << std::endl;
        }
        i++;
    }
    dane.close();
}
Przez przypadek dałem nie pełny, bo mam trochę 'zbędnych' rzeczy więc, żeby nie zaśmiecać. Po zmianie na int zamiast pierwszej liczby 2 pokazuje 50. Więc to jest to samo co pokazuje zmienna liczby po przypisaniu do niej wartości z chara.
P-109184
Raptiler
» 2014-05-03 16:39:06
Przy rzutowaniu z char na int Twoj program generuje Ci kod znaku ASCII
możesz temu zapobiec na kilka sposobów, albo funkcja atoi(), ale wtedy rzutowanie static_cast wogole nie jest potrzebne, albo prościej bo w twoim konkretnym przypadku potrzebne Ci jest tylko odczytanie liczb od 0 do 9, kody tych znaków w ASCII są zawsze o 48 większe niż liczby, więc poprostu
odejmij od wyniku 48 :)

Tu masz ASCII jbc.
http://pl.wikipedia.org/wiki/ASCII
P-109185
Kudłaty
Temat założony przez niniejszego użytkownika
» 2014-05-03 16:46:43
Nie pomyślałem o tym chociaż wiem, że to ASCII i wcześniej robiłem tym samym sposobem z odejmowaniem, ale w innym przypadku. Dzięki za pomoc.
P-109186
1 « 2 »
Poprzednia strona Strona 2 z 2