Ucim se c++ - jak presmerovat vstup/vystup

Michal Samek webmaster na tony.cz
Čtvrtek Říjen 30 14:39:57 CET 2003


DD, 
doufam, ze to tu neni moc OT. 

mam takovy zacatecnicky problem v c++.

Potrebuju v programu pracovat bud se std. vstupem, nebo v pripade, ze je
zadan soubor (-i neco) otevrit ifstream objekt a pracovat s nim. 
Neumim presmerovat cin jinam, to by mozna bylo nejjednodussi, ale
nicmene jsem myslel, ze umim pouzit pointer tak, aby ukazoval bud na
cin, nebo na muj vytvoreny ifstream objekt. Jelikoz cin neni primo class
ifstream, ale class istream, ktera je superclass vuci ifstream, myslel
jsem, ze muzu deklarovat:

istream* mujvstup;

a pak priradit dle okolnosti:

mujvstup = &cin;

nebo

ifstream f;
f.open(argv[1]);
mujvstup = &f

a pak uz dale pracovat s mujvstup* bez ohledu, zda to je cin. nebo
otevreny jiny soubor. 

Uz ale pri tom prirazeni mujvstup = &cin; mi to hlasi chybu, ze nemuze
konvertovat typy nebo co. Podrobnosti samozrejme dodam bude-li treba,
predpokladam vsak, ze je to pro zkusenejsi lidi trivialni vec...

Podotykam, ze jsem teprve vcera nastudoval neco malo z Thinking in c++,
ale jen do dneska jsem myslel, ze chapu, jak pracovat s objektem, u
ktereho nevim presne jeho class, vim ale, ze je urcite subclassovany z
nejake obecnejsi tridy. 

Muzete mne nekdo nakopnout spravnym smerem? Diky moc

BTW nemuzu najit v apt-rpm zadnou c++ reference nebo libstdc++
reference, existuje nejaka podrobna dokumentace v baliku? V infu jsem
nasel jenom glibc, o libstdc++ ani slovo. 

-- 
Michal Samek <webmaster na tony.cz>



Další informace o konferenci Linux