CFile::CFile
Yapıları ve başlatan bir CFile nesnesi.
CFile( );
CFile(
CAtlTransactionManager* pTM
);
CFile(
HANDLE hFile
);
CFile(
LPCTSTR lpszFileName,
UINT nOpenFlags
);
CFile(
LPCTSTR lpszFileName,
UINT nOpenFlags,
CAtlTransactionManager* pTM
);
Parametreler
hFile
Eklemek için bir dosya tanıtıcısı CFile nesnesi.lpszFileName
İliştirilecek bir dosyanın göreli ya da tam yolunu CFile nesnesi.nOpenFlags
Belirtilen dosya için dosya erişim seçenekleri bitwise birleşimi (veya).Olası seçenekler için açıklamalar bölümüne bakın.pTM
CAtlTransactionManager nesne işaretçisi
Notlar
Aşağıdaki beş için olası seçenekler tablolarda nOpenFlags parametresi.
Aşağıdaki dosya erişim modu seçeneklerinden birini seçin.Varsayılan dosya erişim modu olan CFile::modeRead, hangi okuma yalnızca.
Value |
Description |
---|---|
CFile::modeRead |
Yalnızca istekleri okuma erişimi. |
CFile::modeWrite |
Yazma erişimi yalnızca istekleri. |
CFile::modeReadWrite |
İstekleri okuma ve yazma erişimi. |
Aşağıdaki karakter modu seçeneklerinden birini seçin.
Value |
Description |
---|---|
CFile::typeBinary |
İkili mod (yalnızca türetilmiş sınıflarda kullanılan) ayarlar. |
CFile::typeText |
(Yalnızca türetilmiş sınıflarda kullanılan) satır başı return–linefeed çiftleri için özel işleme ile metin modu ayarlar. |
CFile::typeUnicode |
(Yalnızca türetilmiş sınıflarda kullanılan) Unicode moduna ayarlar.Unicode yapılandırmada uygulama oluþturulurken metin dosyası Unicode biçiminde yazılır.Hiçbir bom dosyasına yazılır. |
Yalnızca aşağıdaki dosya paylaşım modu seçeneklerinden birini.Varsayılan dosya paylaşım modu olan CFile::shareExclusive, hangi özel.
Value |
Description |
---|---|
CFile::shareDenyNone |
Paylaşım kısıtlama yoktur. |
CFile::shareDenyRead |
Tüm diğerleri için okuma erişimini engeller. |
CFile::shareDenyWrite |
Diğer tüm kullanıcıların yazma erişimini engeller. |
CFile::shareExclusive |
Okuma ve yazma erişimi için tüm diğerleri vermez. |
İlk ya da her ikisi de, aşağıdaki dosya oluşturma modu seçeneği seçin.Varsayılan oluşturma modu olan CFile::modeNoTruncate, açık var olduğu.
Value |
Description |
---|---|
CFile::modeCreate |
Hiçbir dosya varsa, yeni bir dosya oluşturur; Dosya zaten varsa, aksi takdirde, ekli olduğu CFile object ve uzunluğu 0 kesilir. |
CFile::modeNoTruncate |
Hiçbir dosya varsa, yeni bir dosya oluşturur; Dosya zaten varsa, aksi takdirde, ekli olduğu CFile nesnesi. |
Önbelleğe alma seçeneklerini açıklandığı şekilde aşağıdaki dosyayı seçin.Varsayılan olarak, sistem bir genel amaçlı bir seçenek olarak kullanılabilir değil Düzen önbelleği kullanır.
Value |
Description |
---|---|
CFile::osNoBuffer |
Sistem dosyası için bir ara önbelleği kullanmaz.Bu seçenek, aşağıdaki 2 seçeneği iptal eder. |
CFile::osRandomAccess |
Dosya önbelleği rasgele erişim için optimize edilmiştir.Bu seçenek ve sıralı tarama seçeneğini kullanmayın. |
CFile::osSequentialScan |
Dosya önbelleği, sıralı erişim için optimize edilmiştir.Bu seçenek ve rasgele erişim seçeneğini kullanmayın. |
CFile::osWriteThrough |
Gecikme gerçekleştirilen işlemler yazma. |
Dosya tanıtıcısı devralınmasını engellemek için aşağıdaki güvenlik seçeneğini belirleyin.Varsayılan olarak, yeni başlattığı alt işlemleri dosya işleci kullanabilirsiniz.
Value |
Description |
---|---|
CFile::modeNoInherit |
Dosya tanıtıcısı kullanarak başlattığı alt işlemleri engeller. |
Varsayılan kurucu üyeleri başlatır ama bir dosya iliştirin değil CFile nesnesi.Bu yapıcısı kullanıldıktan sonra IStream CFile::Open yöntem ekleyebilir ve bir dosyayı açmak için CFile nesnesi.
Bir parametre ile kurucu üyeleri başlatır ve varolan dosyaya ekler CFile nesnesi.
İki parametre ile kurucu üyeleri başlatır ve belirtilen dosyayı açmaya çalıştığında.Bu Oluşturucu başarıyla belirtilen dosyayı açarsa, dosyanın bağlı olduğu CFile nesne; Aksi takdirde, bu kurucu için bir işaretçi atan bir CInvalidArgException nesnesi.Özel durumlarý iþlemek hakkında daha fazla bilgi için bkz: özel durumlar.
Yoksa bir CFile nesnesi başarıyla belirtilen dosyayı açtığında, onu bu dosyayı otomatik olarak ne zaman kapanacak CFile nesne bozulur; Aksi takdirde, artık ekli olduğu sonra dosyayı açıkça kapatmalısınız CFile nesnesi.
Örnek
Tüm üç Kurucular aşağıdaki kodda gösterilmiştir.
HANDLE hFile = CreateFile(_T("CFile_File.dat"),
GENERIC_WRITE, FILE_SHARE_READ,
NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE)
{
AfxMessageBox(_T("Couldn't create the file!"));
}
else
{
// Attach a CFile object to the handle we have.
CFile myFile(hFile);
static const TCHAR sz[] = _T("I love CFile!");
// write string
myFile.Write(sz, sizeof(sz));
// We can call Close() explicitly, but the destructor would have
// also closed the file for us. Note that there's no need to
// call the CloseHandle() on the handle returned by the API because
// MFC will close it for us.
myFile.Close();
Gereksinimler
Başlık: afx.h