Ich versuche einen Weg zu finden, um fout oder cout an eine Funktion zu übergeben. Ich weiß, dass es logisch einfache Möglichkeiten gibt, damit umzugehen, wie ifs in jede Funktion zu setzen, die Daten ausgibt oder einfach nur die Funktion in beide Richtungen schreibt. Dies scheint jedoch primitiv und ineffizient zu sein. Ich glaube nicht, dass dieser Code jemals funktionieren würde, ich stelle ihn hier, um sicherzustellen, dass es leicht ist, zu sehen, was ich "gerne" machen würde. Bitte beachten Sie, dass ich eine Algorithmus-Design-Klasse mit C++ nehme, ich bin in keiner Weise ein erfahrener C++ - Programmierer. Meine Klasse beschränkt sich auf die Header, die Sie sehen.Ist es möglich, cout oder fout an eine Funktion zu übergeben?
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
void helloWorld(char);
ofstream fout;
int main()
{
fout.open("coutfout.dat");
helloWorld(c);
helloWorld(f);
return 0;
}
void helloWorld(char x)
{
xout << "Hello World";
return;
}
Es funktioniert! Ich wusste, dass es nicht so schwer sein konnte wie ich es machte. Vielen Dank! – ChiefTwoPencils
Kein Problem. Sehen Sie sich http://en.cppreference.com/w/cpp/io/basic_ostream für die Basisklasse an. –
@Kevin Nach dem Lesen des Links, den Sie gaben, denke ich, dass die Funktion 'stream' zurückgegeben als Argument zurückgegeben werden sollte:' std :: ostream & sayHello (std :: ostream & stream) {zurück Stream << "Hallo Welt";} ' – GingerPlusPlus