Udostępnij za pośrednictwem


CFile::CFile

Konstrukcje i inicjuje CFile obiektu.

CFile( );
CFile(
   CAtlTransactionManager* pTM
);
CFile(
   HANDLE hFile 
);
CFile(
   LPCTSTR lpszFileName,
   UINT nOpenFlags 
);
CFile(
   LPCTSTR lpszFileName,
   UINT nOpenFlags,
   CAtlTransactionManager* pTM
);

Parametry

  • hFile
    Uchwyt pliku do dołączenia do CFile obiektu.

  • lpszFileName
    Ścieżkę względną lub pełnego pliku do dołączenia do CFile obiektu.

  • nOpenFlags
    Operatory kombinacja (lub) opcje dostępu do pliku dla określonego pliku.Możliwe opcje w sekcji Uwagi.

  • pTM
    Wskaźnik do obiektu CAtlTransactionManager

Uwagi

Możliwe opcje listy do następujących pięciu tabelach nOpenFlags parametru.

Wybierz tylko jedną z następujących opcji trybu dostępu do pliku.Domyślnym trybem dostępu pliku jest CFile::modeRead, który jest tylko do odczytu.

Wartość

Opis

CFile::modeRead

Tylko żądania odczytu dostępu.

CFile::modeWrite

Żądania zapisu tylko.

CFile::modeReadWrite

Żądania odczytu i zapisu.

Wybierz jedną z następujących opcji trybu znaków.

Wartość

Opis

CFile::typeBinary

Ustawia tryb binarny (używane tylko do klas pochodnych).

CFile::typeText

Ustawia tryb tekstu za pomocą specjalnego przetwarzania dla przewozu ze zmianą wiersza par (używane tylko do klas pochodnych).

CFile::typeUnicode

Ustawia tryb Unicode (używane tylko do klas pochodnych).Tekst pisany jest plik w formacie Unicode aplikacja jest wbudowana w konfiguracji Unicode.BOM nie jest zapisywane w pliku.

Wybierz tylko jedną z następujących opcji trybu udział pliku.Domyślny tryb udział pliku jest CFile::shareExclusive, który jest wyłączności.

Wartość

Opis

CFile::shareDenyNone

Ograniczeń udostępniania.

CFile::shareDenyRead

Odmawia dostępu do odczytu do wszystkich innych osób.

CFile::shareDenyWrite

Odmawia dostępu do zapisu do wszystkich innych osób.

CFile::shareExclusive

Uprawnienie odczytu i zapisu do wszystkich innych osób.

Wybierz pierwszy lub oba z następujących opcji trybu tworzenia pliku.Jest to domyślny tryb tworzenia CFile::modeNoTruncate, który jest otwarty istniejących.

Wartość

Opis

CFile::modeCreate

Tworzy nowy plik, jeśli plik nie istnieje; w przeciwnym wypadku, jeżeli plik już istnieje, jest on dołączony do CFile obiektu i jest obcinana do długości 0.

CFile::modeNoTruncate

Tworzy nowy plik, jeśli plik nie istnieje; w przeciwnym wypadku, jeżeli plik już istnieje, jest on dołączony do CFile obiektu.

Wybierz plik następujące opcje buforowania, zgodnie z opisem.Domyślnie system używa ogólnego przeznaczenia, schemat, który nie jest dostępny jako opcja buforowania.

Wartość

Opis

CFile::osNoBuffer

System nie używa pliku pośrednie pamięci podręcznej.Ta opcja anuluje następujące opcje 2.

CFile::osRandomAccess

Pamięć podręczna (cache) plików jest zoptymalizowany pod kątem dostępie.Nie należy używać tej opcji i skanowanie sekwencyjne.

CFile::osSequentialScan

Pamięć podręczna (cache) plików jest zoptymalizowany pod kątem dostępu sekwencyjnego.Nie należy używać tej opcji i dostępie.

CFile::osWriteThrough

Niezwłocznie wykonywane są operacje zapisu.

Wybierz poniższą opcję zabezpieczeń, aby zapobiec dziedziczone przez dojście do pliku.Domyślnie wszystkie nowe procesy podrzędne można użyć uchwytu pliku.

Wartość

Opis

CFile::modeNoInherit

Wszystkie procesy podrzędne zapobiega użyciu uchwytu pliku.

Konstruktor domyślny inicjalizuje członków, ale nie dołączyć plik do CFile obiektu.Po użyciu tego konstruktora, użyj CFile::Open metody, aby otworzyć plik i dołączyć go do CFile obiektu.

Konstruktora z jednym parametrem inicjuje członków i dołącza do istniejącego pliku CFile obiektu.

Dwa parametry konstruktora inicjuje członków i próbuje otworzyć określony plik.Jeśli ten konstruktor pomyślnie otwiera określony plik, plik jest dołączony do CFile obiektu; w przeciwnym wypadku ten konstruktor generuje wskaźnik do CInvalidArgException obiektu.Aby uzyskać więcej informacji na temat obsługi wyjątków, zobacz Wyjątki.

Jeśli CFile obiektu pomyślnie otwiera określony plik, zostanie zamknięty tego pliku automatycznie po CFile niszczony jest obiekt; w przeciwnym razie należy jawnie zamknąć plik po już jest podłączone do CFile obiektu.

Przykład

Wszystkie trzy konstruktory są wykazane w poniższym kodzie.

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();

Wymagania

Nagłówek: afx.h

Zobacz też

Informacje

Klasa CFile

Wykres hierarchii