[comp.lang.c++] Need help with AT&T CC

keenan@gargoyle.uchicago.edu (Philip Keenan) (06/07/89)

Hi. I have been using GNU C++ and now want to use the AT&T C++ compiler CC, on
a Sun 3/60 under UNIX. Mostly the two versions seem the same, except with 
streams. In particular, I can't get streams other than the standard ones to
work. I think there must be something specific to CC that I am leaving out --
can anyone tell me what I am doing incorrectly? I am enclosing a copy of a
very short program based on Stroustrup p. 235, designed to open a file named
"outFile" and write a line of text to it. On my system, this compiles fine
with CC, but when I run the a.out file, the "outFile" is created but not 
actually written to, and the stream state becomes "bad", so I get an error
message. (The error message, using the predefined ostream "cout", works fine.)
Do I have to do something else to get the file opened for output?
Here's the program and results:

************************************************************************
/* filetest.c
   Simple test program for AT&T C++ on gargoyle -- Phil Keenan 6-3-89
*/

#include <stream.h>

main()
{
  filebuf f1;
  if(f1.open("outFile",output)==0) 
    { cout << "output error\n"; exit(1); }
  ostream to(&f1);

  to << "This is a test.\n";

  if(to.bad()) 
    { cout << "error in ostream\n"; exit(1); }
}
**************************************************************************
: CC filetest.c
CC  filetest.c:
cc    filetest..c -lC
: a.out
error in ostream
: 
**************************************************************************

If anyone can help, I'd greatly appreciate it. For more info contact
	keenan@gargoyle.uchicago.edu
Thanks very much!
- Phil Keenan