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

Błędny odczyt danych z pliku binarnego

Ostatnio zmodyfikowano 2016-12-04 15:29
Autor Wiadomość
begginer
Temat założony przez niniejszego użytkownika
Błędny odczyt danych z pliku binarnego
» 2016-12-04 15:02:18
Witam,
moj program zapisuje losowe wartosci liczb  z podanego przedzialu do pliku, w trybie binarnym.
Nastepnie go odczytuje, tu jest problem, niezaleznie jak rozne i ile wartosci do pliku zapisze, zawsze odczytuje te same cyfry "0,1,2".
Jakies pomysly?

C/C++
#include <random>
#include <vector>
#include <fstream>
#include <iostream>
using namespace std;
int random_number( int min, int max )
{
    static default_random_engine e { };
    uniform_int_distribution < int > d( min, max );
    return d( e );
}
int main()
{
    int n;
    cout << "Podaj dlugosc wektora: ";
    cin >> n;
    vector < int > v;
    for( int i = 0; i < n; i++ )
    {
        v.push_back( random_number( 1, 10 ) );
    }
    cout << endl;
    //zapis
    ofstream binary( "binarnie.bin", ios::binary );
    if( binary )
    {
        for( int i = 0; i < n; i++ )
             binary.write( reinterpret_cast < char *>( & i ), sizeof( i ) );
       
    }
    cout << "Zapisano plik binarnie." << endl;
   
    //odczyt
    ifstream input( "binarnie.bin", ios::binary );
    if( input )
    {
        int i;
        while( input.read( reinterpret_cast < char *>( & i ), sizeof( i ) ) )
             cout << i << " ";
       
    }
    input.close();
    cin.ignore( 2 );
}
P-154479
pekfos
» 2016-12-04 15:20:57
C/C++
for( int i = 0; i < n; i++ )
     binary.write( reinterpret_cast < char *>( & i ), sizeof( i ) );
A co twoim zdaniem tu zapisujesz?
P-154480
begginer
Temat założony przez niniejszego użytkownika
» 2016-12-04 15:29:50
Cholera, faktycznie, glupi bląd.
Dzieki za pomoc.
P-154481
« 1 »
  Strona 1 z 1