[c++]binaire bestanden uitlezen

Pagina: 1
Acties:

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
ik ben een klein testdatabaseje aan het opzetten in c++ maar nu kom ik het probleem tegen dat ik de bestanden niet kan uitlezen. Ik heb verschillende voorbeelden bekeken, en het wegschrijven lukt me wel, maar het lezen niet. ik snap die read functie niet helemaal. wat doe ik verkeerd?


..in de functie load
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#include <iostream.h>
#include <conio.h>
#include <process.h>
#include <fstream.h>

struct tleerling
{
    char lnummer[10];
    char lnaam[20];
    char lklas[6];
};

void voerin();
void laatzien();
void menu();
void save();


int hoever = 1;
tleerling leerling[100];
fstream bestand;
void main()
{
clrscr();
menu();

}
void menu()
{
    char keuze;
    cout<<"------------------------------------"<<endl;
    cout<<"1|typ 1 voor invoeren "<<endl;
    cout<<"2|typ 2 voor uitvoer "<<endl;
    cout<<"3|typ 3 om het programma te stoppen"<<endl;
    cout<<"4|typ 4 om het naar een bestand te scrijven"<<endl;
    cout<<"------------------------------------"<<endl;
    cout<<"u keuze";cin >>(keuze);

switch (keuze)
    {
     case '1': voerin();
     case '2': laatzien();
     case '3': cout<<"terminating program";exit(0);
     case '4': save();
       case '5': load();
     }

}

void voerin()
{
hoever++;
clrscr();
cout<<"geef het leerling nummer: ";cin>> leerling[hoever].lnummer;cout<<endl;
cout<<"geef de naam: ";cin>> leerling[hoever].lnaam;cout<<endl;
cout<<"geef de klas van de leerling: ";cin>> leerling[hoever].lklas;cout<<endl;
menu();

}


void laatzien()
{
for (int i=0;i<hoever+1;i++)
{
cout<< "leerling info"<<endl;
cout<< leerling[i].lnummer;cout<<endl;
cout<< leerling[i].lnaam<<endl;
cout<< leerling[i].lklas<<endl;
}
getch();
menu();
}

void save()
{

bestand.open ("c:\\tekst.txt", ios::out|ios::binary|ios::trunc);
for (int a=0;a<10;a++)
{
//bestand.write(leerling[0].lnaam,sizeof(leerling[0].lnaam));
bestand.write(leerling[a].lnaam,sizeof(leerling[a].lnaam));
bestand.write(leerling[0].lnummer,sizeof(leerling[0].lnummer));
bestand.write(leerling[0].lklas,sizeof(leerling[0].lklas));
};
bestand.close();
menu();
};

void load()
{
bestand.open("c:\\text.txt", ios::in|ios::binary);
for (int a=0;a<10;a++)
    {
    //bestand.read(leerling[a],sizeof(int));

    }
}

  • Sponz
  • Registratie: Juni 2001
  • Niet online

Sponz

nul nest parfait saif moi

Je roept load niet eens aan.

Bekjk je programma nog eens goed... tis een rare mix tussen C en C++. Maar dat terzijde.

  • THIJZEL
  • Registratie: Januari 2001
  • Niet online
Op zondag 28 april 2002 00:46 schreef Sponz het volgende:
Je roept load niet eens aan.

Bekjk je programma nog eens goed... tis een rare mix tussen C en C++. Maar dat terzijde.
nee dat klopt, maar daar ging het niet echt om, dat kan ik zo laten aanroepen he...

hoezo is het een rare mix? ik ben nog bestwel c++ noob..
de borland c++ 3.1 compiler slikt het trouwens gewoon