Aracılığıyla paylaş


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

Ayrıca bkz.

Başvuru

CFile sınıfı

Hiyerarşi grafik