PRB: "Access to an Unnamed File Was Denied" Error

ID: Q181880


The information in this article applies to:
  • Microsoft Visual C++, 32-bit Editions, versions 4.0, 5.0, 6.0


SYMPTOMS

You get the following error when calling CFile::Read():

Access to an unnamed file was denied.
If run under the Microsoft Visual C++ debugger, you will see the following error:
CFile exception: accessDenied, File Unknown, OS error information = 5


CAUSE

You are actually opening the file without read access. The following intuitively correct code causes the error:


CFile cf;
   int data;
 
   cf.Open("myfile.dat", CFile::modeRead | CFile::modeWrite);
 
   cf.Write(&data, sizeof(int));
 
   cf.Read(&data, sizeof(int)); 


RESOLUTION

Specify CFile::modeReadWrite instead of the logical OR of CFile::modeRead and CFile::modeWrite.


STATUS

This behavior is by design.


REFERENCES

For more information about CFile, or other MFC classes, consult the Microsoft Visual C++ online help.

© Microsoft Corporation 1998, All Rights Reserved.
Contributions by Joe Crump, Microsoft Corporation

Additional query words: kbvc400 kbvc500 kbvc600

Keywords : kberrmsg kbCodeGen
Version : winnt:4.0,5.0,6.0
Platform : winnt
Issue type : kbprb


Last Reviewed: January 25, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.