wedhead
Mitglied
habe mich an einem quizz programm für die schule versucht, wobei ich die daten als STRUCT binär in eine datei schreibe, was auch perfekt funktioiert, nun hab ich leider wenig ahnung wie ich den STRUCT mit den einzelnen daten wieder einlesen kann, das soll später random geschehen, das ganze sollte mit ifstream funktionieren aber wie ?
vlt könnt ihr mir weiterhelfen
greez
weedy
vlt könnt ihr mir weiterhelfen
greez
weedy
Code:
//Globale Variablendeklaration
struct question{
char a[4][20],frage[100];
int level;
bool butt[4];
}afrage;
void write() {
//interne variablendeklaration
int i;
String einlesen;
einlesen=Form1->RadioButton1->Caption;
afrage.butt[0]=Form1->RadioButton1->Checked;
afrage.butt[1]=Form1->RadioButton2->Checked;
afrage.butt[2]=Form1->RadioButton3->Checked;
afrage.butt[3]=Form1->RadioButton4->Checked;
for (i=0;i<20;i++) afrage.a[0][i]=0;
for (i=0;i<einlesen.Length();i++) afrage.a[0][i]=einlesen[i+1];
einlesen=Form1->RadioButton2->Caption;
for (i=0;i<20;i++) afrage.a[1][i]=0;
for (i=0;i<einlesen.Length();i++) afrage.a[1][i]=einlesen[i+1];
einlesen=Form1->RadioButton3->Caption;
for (i=0;i<20;i++) afrage.a[2][i]=0;
for (i=0;i<einlesen.Length();i++) afrage.a[2][i]=einlesen[i+1];
einlesen=Form1->RadioButton4->Caption;
for (i=0;i<20;i++) afrage.a[3][i]=0;
for (i=0;i<einlesen.Length();i++) afrage.a[3][i]=einlesen[i+1];
i=Form1->Memo1->GetTextLen();if (i>100) i=100;
for (i=0;i<100;i++) afrage.frage[i]=0;
Form1->Memo1->GetTextBuf((char*) &afrage.frage,i);
afrage.level=StrToInt(Form1->Edit5->Text);
char Datei[]="c:\\Test01.dat";
i=afrage.level;
if (afrage.level>9) Datei[7]=48+afrage.level / 10;
Datei[8]=(char) (48+i -(i/10)*10);
ofstream Ausgabe(Datei,ios::binary&&ios::app);
if(!Ausgabe) ShowMessage("Datei konnte nicht geöffnet werden!");
else {
Ausgabe.write((char*)&afrage,sizeof(afrage));
Ausgabe.close();
}
}
Zuletzt bearbeitet: