Dosyaları Okuma ve Yazma
C çalışma zamanı kitaplığı dosya işleme işlevlerini kullandıysanız MFC okuma ve yazma işlemleri tanıdık görünür. Bu makalede doğrudan nesneden okuma ve doğrudan bir CFile
nesneye yazma açıklanmaktadır. CArchive sınıfıyla arabelleğe alınan dosya G/Ç de yapabilirsiniz.
Dosyasından okumak ve dosyaya yazmak için
dosyadaki
Read
verileri okumak ve yazmak için veWrite
üye işlevlerini kullanın.-veya-
Seek
Üye işlevi, dosya içindeki belirli bir uzaklık için de kullanılabilir.
Read
bir arabelleğe işaretçi alır ve okunacak bayt sayısını alır ve okunan gerçek bayt sayısını döndürür. Dosya sonuna (EOF) ulaşılması nedeniyle gerekli bayt sayısı okunamadıysa, okunan gerçek bayt sayısı döndürülür. Herhangi bir okuma hatası oluşursa, bir özel durum oluşturulur. Write
öğesine benzer Read
, ancak yazılan bayt sayısı döndürülmedi. Belirtilen tüm baytların yazılmaması da dahil olmak üzere bir yazma hatası oluşursa, bir özel durum oluşur. Geçerli CFile
bir nesneniz varsa, aşağıdaki örnekte gösterildiği gibi nesneden okuyabilir veya bu nesneye yazabilirsiniz:
TCHAR szBuffer[256];
UINT nActual = 0;
CFile myFile;
if ( myFile.Open( _T("c:\\test\\myfile.dat"), CFile::modeCreate |
CFile::modeReadWrite ) )
{
myFile.Write( szBuffer, sizeof( szBuffer ) );
myFile.Flush();
myFile.Seek( 0, CFile::begin );
nActual = myFile.Read( szBuffer, sizeof( szBuffer ) );
}
Dekont
Normalde bir try
/catch
özel durum işleme bloğu içinde giriş/çıkış işlemleri gerçekleştirmeniz gerekir. Daha fazla bilgi için bkz. Özel Durum İşleme (MFC).