C++ istream/ifstream dualität?

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/c_istream_ifstream_dualitaet_217525/page_1 - zur Vollversion wechseln!


Marcellus schrieb am 13.07.2010 um 01:48

Da ich mich etwas besser mit c++ vertraut machen will wollte ich ein kleines Programm schreiben, nur bin ich jetzt auf ein Problem gestoßen, das mir Onkel Google nicht beantworten kann.

Ich bins von C ja gewöhnt stdin genauso wie ein FILE* behandeln zu können, deswegen würde ich sowas ähnliches jetzt gerne mit cin machen. Mein Programm soll falls es einen file Parameter bekommt das file einlesen und sonst von stdin lesen. In c wäre das sowas wie:

Code:
int main(int argc, char* argv[])
{
         FILE* infile=stdin;
         if(1 <= argc)
                 infile=fopen(argv[1], "r");

         tolleauswertefunktion(infile, ...
}

Nur cin ist ein istream, ein file wird als ifstream geöffnet und ich habs nicht einmal geschafft "cin" an eine Funktion zu übergeben.

Ich habs auch nicht geschafft cin zu einem ifstream zu casten oder anders herum, genauso wenig wie ich das mit eine istream, oder eine ios hinbekommen hab.

tia


Nico schrieb am 13.07.2010 um 02:03

versuch den parameter, falls vorhanden, mit ifstream zu öffnen, falls erfolgreich -> wars eine datei usw..


Ringding schrieb am 13.07.2010 um 08:33

http://stackoverflow.com/questions/...a-variable-name


Marcellus schrieb am 13.07.2010 um 13:00

@nico das ist schon klar, es geht ja darum, das dieses C teilprogramm auf c++ ish umsetzen kann der rest mit wie man ein file aufmacht usw ist mir eh klar.

@Ringding Wunderbar, das ist genau was ich gesucht hab,

Danke




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2024