Estoy tratando de encontrar una forma de pasar Fout o Cout a una función. Me doy cuenta de que hay maneras lógicamente fáciles de manejar esto, como poner ifs en cualquier función que muestre datos o incluso solo escriba la función en ambos sentidos. Sin embargo, eso parece primitivo e ineficiente. No creo que este código funcione alguna vez, lo estoy poniendo aquí para garantizar que sea fácil ver lo que me gustaría "hacer". Tenga en cuenta que estoy tomando una clase de diseño de algoritmo con C++, de ninguna manera soy un programador experimentado de C++. Mi clase está limitada a usar los encabezados que ves.¿Es posible pasar cout o fout a una función?
#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;
}
¡Funciona! Sabía que no podía ser tan difícil como lo estaba haciendo. ¡Gracias un montón! – ChiefTwoPencils
No hay problema. Consulte http://en.cppreference.com/w/cpp/io/basic_ostream para la clase base. –
@Kevin Después de leer el enlace que dio, creo que la función debería devolver 'stream' como argumento ...' std :: ostream & sayHello (std :: ostream & stream) {return stream << "Hello World";} ' – GingerPlusPlus