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

[C++] zapis/odczyt do pliku

Ostatnio zmodyfikowano 2013-02-28 01:42
Autor Wiadomość
fryderykst
Temat założony przez niniejszego użytkownika
[C++] zapis/odczyt do pliku
» 2013-02-27 15:24:23
C/C++
#include "stdafx.h"
#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>
using namespace std;


class operacja
{
public:
    fstream plik;
    int nrlinijki;
    int * a;
    operacja( string sciezka )
    {
        plik.open( sciezka.c_str(), ios::in | ios::out | ios::trunc | ios::binary );
        nrlinijki = 0;
    }
    ~operacja()
    {
        plik.close();
    }
   
    void zapis( int wartosc );
    int * odczyt( int wartosc );
   
   
};

void operacja::zapis( int wartosc )
{
    plik.seekp( nrlinijki * sizeof( int ) );
    plik.write(( char * ) & wartosc, sizeof( int ) );
    cout << "Zapisano" << endl;
    nrlinijki++;
   
}

int * operacja::odczyt( int wartosc )
{
    cout << "TU" << endl;
    plik.seekg( wartosc * sizeof( int ) );
    cout << "powskazaniu" << endl;
    plik.read(( char * ) & a, sizeof( int ) );
    cout << "Odczytano" << endl;
   
    return a;
}


int main()
{
    string olek( "C:\\Users\\Fryderyk\\Desktop\\plik.tmp" );
   
    operacja * plik;
    plik = new operacja( olek );
   
    int i;
    cin >> i;
    plik->zapis( i );
   
    int * x = plik->odczyt( 0 );
   
    cout << x << endl;
   
    delete plik;
   
   
    system( "PAUSE" );
    return 0;
}

ok, mam taki kod źródłowy, testowałem w devie i visualu.
dokładnie chodzi mi o odczyt, bo zapis wydaje się być prawidłowy.
Na ekranie pojawia mi się liczba którą podam podczas zapisu, lecz w zapisie 16-nastkowym + kilka zer z przodu, próbowałem to zmienić manipulatorem "dec", ale nic to nie dało.

Mógłby mi ktoś poradzić gdzie jest problem, co zrobiłem źle?
P-77210
usmiech
» 2013-02-28 01:42:07
Prawde mowiac nie do konca rozumiem co ma robic program :) A odnosnie klas to wole dodawac do headers definicje klasy , a do cpp implementacje, ale to tylko odnosnie techniki :)
P-77289
« 1 »
  Strona 1 z 1