jmartin@secola.Columbia.NCR.COM (John Martinez) (06/30/91)
OK netters, here's my dumb question for the week:
Environment: DOS 4.01, Borland C++
Reader's Digest Version:
I want to write a sort of template for "pipe" style programs which take
one input file, mess with it, and put the output to another file; the
code should default to using cin and cout unless filenames are on the
command-line.
e.g. Both [all three] of these should do the same thing:
cat filea | my_program > fileb works, but so does
my_program filea fileb and maybe even [dare to dream :)]
cat filea | my_program - fileb
sounds simple, right? And it probably is, but I can't seem to get anything
which seems like it might work to compile! :(
I want to do something like: (yes, I know _this_ code is _way_ wrong...)
**********
#include <fstream.h>
main (int argc, char *argv[]){
ifstream in_stuff;
ofstream out_stuff;
if (argc >=1)
in_stuff = argv[1];
else
in_stuff = cin;
[ same sort of thing for out_stuff here....]
[ code that uses in_stuff and out_stuff here and doesn't know or
care if we are using files or cin/cout goes here ]
};
- you get the picture. But none of the [>20] variations on this theme
I've tried seem to work; I'm lost in a hopeless tangle of ostreams, ofstreams,
ofstreams-withassigns,iostreams,ice_creams, etc.... !! :( :( :(
anybody feeling generous and want to tell me the secret? I won't even complain
if the answer comes along with an RTFM flame, although I must protest that I
have been R'ing the FM, and if the information is in there, it's rather
deeply buried.
advTHANKSance,
-(-- John the miffed coder
send replies to jmartin@secola.Columbia.NCR.COM
....yes, upper/lower case in the address matters - very annoying :( :(
p.s. If anyone asks, I'll post or mail the working template when I have one.
--
John V.Martinez
NCR Network Products Division
jmartin@secola.Columbia.NCR.COM
(803)739-7671 vplus:633-7671