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
..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));
}
} |