Dosyaları Açma
MFC'de, bir dosyayı açmanın en yaygın yolu iki aşamalı bir işlemdir.
Dosyayı açmak için
Yol veya izin bayrakları belirtmeden dosya nesnesini oluşturun.
Genellikle yığın çerçevesinde bir CFile değişkeni bildirerek bir dosya nesnesi oluşturursunuz.
Dosya nesnesi için Open member işlevini çağırarak bir yol ve izin bayrakları sağlayın.
Dosya başarıyla açıldıysa için dönüş değeri
Open
sıfır olmayan veya belirtilen dosya açılamadıysa 0 olur.Open
Üye işlevinin prototipi aşağıdaki gibi yapılır:virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL );
Açık bayraklar, dosya için istediğiniz salt okunur gibi izinleri belirtir. Olası bayrak değerleri sınıfı içinde
CFile
numaralandırılmış sabitler olarak tanımlanır, bu nedenle içinde olduğu gibi "CFile::
" ile nitelenirlerCFile::modeRead
.CFile::modeCreate
Dosyayı oluşturmak istiyorsanız bayrağını kullanın.
Aşağıdaki örnekte, okuma/yazma iznine sahip yeni bir dosyanın nasıl oluşturulacağı gösterilmektedir (önceki herhangi bir dosyayı aynı yolla değiştirerek):
TCHAR* pszFileName = _T("c:\\test\\myfile.dat");
CFile myFile;
CFileException fileException;
if ( !myFile.Open( pszFileName, CFile::modeCreate |
CFile::modeReadWrite, &fileException ) )
{
TRACE( _T("Can't open file %s, error = %u\n"),
pszFileName, fileException.m_cause );
}
Dekont
Bu örnek bir dosya oluşturur ve açar. Sorun varsa, Open
çağrı burada gösterildiği gibi son parametresinde bir CFileException
nesne döndürebilir. TRACE makro, hem dosya adını hem de hatanın nedenini belirten bir kodu yazdırır. Daha ayrıntılı hata raporlaması gerekiyorsa işlevi çağırabilirsiniz AfxThrowFileException
.