Sie kennen das übliche stdiologische Idiom, das stdin
durch einen Dateinamen von "-", z.C++: cin einer ifstream-Variablen zuweisen?
if ((strcmp(fname, "-"))
fp = fopen(fname);
else
fp = stdin;
Was ist der beste Weg, dies mit einer ifstream
Instanz zu tun? Ich habe ein Stück Code erhalten, der eine ifstream
als Teil einer Klasse hat, und ich würde gerne Code hinzufügen, um das Äquivalent zu tun, so etwas wie:
if (filename == "-")
logstream = cin; // **how do I do this*?*
else
logstream.open(filename.c_str());
danke ... das muss nur auf linux und osx portierbar sein, also/dev/stdin ist es! (seufz) –
Dies zeigt, wie sich niemand jemals hingesetzt hat und einen halbwegs anständigen Satz von C++ - Bibliotheken gemacht hat. (Ich würde Boost sagen, wenn es nicht so viele Probleme mit der Versionierung hatte) –
FWIW, mit C++ 11 anstatt 'noop()' zu 'reset' zu übergeben (und die Struktur zu definieren), ein einfaches (und lustig aussehendes) '[] (...) {}' tut es. – akim