Makale numarası: 181880 - Son Gözden Geçirme: 08 Aralık 2003 Pazartesi - Gözden geçirme: 2.0

SORUN: "Adsız bir dosyaya erişim engellendi" hatası

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Hepsini aç | Hepsini kapa

Belirtiler

CFile::Read() ararken aşağıdaki hatayı alıyorum:
Adsız bir dosya erişimi engellendi.
Microsoft Visual C++ hata ayıklayıcı altında çalıştırırsanız, aşağıdaki hata görürsünüz:
CFile özel durum: Bilinmeyen dosya accessDenied işletim SISTEMI hata bilgileri = 5

Neden

Gerçekte, dosyayı okuma erişimi olmadan açıyorsunuz. Aşağıdaki intuitively doğru kodu neden:
CFile cf;
   int data;
 
   cf.Open("myfile.dat", CFile::modeRead | CFile::modeWrite);
 
   cf.Write(&data, sizeof(int));
 
   cf.Read(&data, sizeof(int));
				

Çözüm

Mantıksal OR, CFile::modeRead ve CFile::modeWrite yerine CFile::modeReadWrite belirtin.

Durum

Bu davranış tasarım yüzündendir.

Referanslar

CFile veya diğer MFC sınıfları hakkında daha fazla bilgi için Microsoft Visual C++ çevrimiçi yardımına bakın.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual C++ 4.0 Standard Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
Anahtar Kelimeler: 
kbmt kbcodegen kberrmsg kbprb KB181880 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:181880  (http://support.microsoft.com/kb/181880/en-us/ )