M
matzeed7
Mitglied
Hallo,
ich habe mal eine Frage! ich möchte in meinem
Hauptprogram eine Funktion aufrufen und dieser als Argument
eine Datei übergeben. Die aufgerufene Funktion soll dann
was in die geöffnete datei schreiben.
hier mal der Funktionaufruf aus der main()
nun zu meinem Problem, meine Funktion
funktioniert, nun möchte ich aber auch die membermethoden der datei
benutzen also zB
nun meine Frage:
wie kann ich die Zeile bool test=datei.bad(); aus den Hauptprogramm
in die funktion writeinfile(..) einbringen?
ich hatte schon
probiert aber es kommt die fehlermeldung
error: invalid type argument of `unary *'
Danke schon mal an Euch!
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
PS:
ich habe jetzt mal
getestet und der compiler bringt keinen Fehler,
kann mir wer erklären warum ich mal * schreiben muss und mal nicht.
ich dachte immer das wenn man * file schreibt einen pointer hat
und wenn ich die funktion aufrufe muss ich den pointer *file die adresse
also &datei übergeben so das er nun file auf meine datei zeigt
ich habe mal eine Frage! ich möchte in meinem
Hauptprogram eine Funktion aufrufen und dieser als Argument
eine Datei übergeben. Die aufgerufene Funktion soll dann
was in die geöffnete datei schreiben.
hier mal der Funktionaufruf aus der main()
Code:
int main() {
fstream datei;
// Textdatei zum schreiben öffnen.
datei.open("Ausgabe.txt", ios::out);
writeinfile(&datei, "noch a test");
datei.close();
return 0;
}
nun zu meinem Problem, meine Funktion
Code:
void writeinfile(fstream *file, string text){
*file<<text<<endl;
}
funktioniert, nun möchte ich aber auch die membermethoden der datei
benutzen also zB
Code:
bool test=datei.bad();
nun meine Frage:
wie kann ich die Zeile bool test=datei.bad(); aus den Hauptprogramm
in die funktion writeinfile(..) einbringen?
ich hatte schon
Code:
bool test=*file->bad();
error: invalid type argument of `unary *'
Danke schon mal an Euch!
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
PS:
ich habe jetzt mal
void writeinfile(fstream *file, string text){
if(file->bad()){cout<<"fehler"<<endl;}
*file<<text<<endl;
}
getestet und der compiler bringt keinen Fehler,
kann mir wer erklären warum ich mal * schreiben muss und mal nicht.
ich dachte immer das wenn man * file schreibt einen pointer hat
und wenn ich die funktion aufrufe muss ich den pointer *file die adresse
also &datei übergeben so das er nun file auf meine datei zeigt
Zuletzt bearbeitet: