From: elric AT wheel DOT dcn DOT davis DOT ca DOT us (Jeffrey Taylor) Newsgroups: comp.os.msdos.djgpp Subject: filebuf problem Date: 22 Nov 1996 19:40:54 GMT Organization: Davis Community Network - Davis, California, USA Lines: 22 Message-ID: <574vk6$hr2@mark.ucdavis.edu> NNTP-Posting-Host: wheel.dcn.davis.ca.us To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp I am trying to open a temporary scratch file for binary data in C++. I do: fstream file("name", ios::in | ios::out | ios:: trunc | ios:binary); if (!file.rdbuf()->is_open()) fail code It always fails. I think the problem is in the libio/filebuf.cc, line 109 which reads: if (!(mode & (int)ios::nocreate) && !(mode & (int)ios::in)) posix_mode |= O_CREAT; I think it should read: if (!(mode & (int)ios::nocreate) && (mode & (int)ios::out) && (mode & (int)(ios::trunc | ios::app))) posix_mode |= O_CREAT; Someone want to give me a reality check on this? Thanks, Jeff T