CFile::CFile

Tworzy 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
    Dojście do pliku, aby dołączyć do CFile obiektu.

  • lpszFileName
    Względnych lub pełną ścieżkę do pliku, aby dołączyć do CFile obiektu.

  • nOpenFlags
    Bitowe połączenie (lub) opcje dostępu do pliku dla określonego pliku.W sekcji uwag możliwe opcje.

  • pTM
    Wskaźnik do obiektu CAtlTransactionManager

Uwagi

Poniższe pięciu tabele zawierają listę możliwych opcji nOpenFlags parametru.

Wybierz tylko jedną z następujących opcji trybu dostępu do pliku.Jest to domyślny tryb dostępu do pliku CFile::modeRead, który jest tylko do odczytu.

Wartość

Opis

CFile::modeRead

Żądania dostęp tylko do odczytu.

CFile::modeWrite

Żądania tylko do zapisu.

CFile::modeReadWrite

Żądania odczytu i zapisu.

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

Wartość

Opis

CFile::typeBinary

Ustawia binarnym (wykorzystywane w klasach pochodnych tylko).

CFile::typeText

Ustawia tryb tekstu z specjalnego przetwarzania dla par zwrotu — wysuwu wiersza karetki (wykorzystywane w klasach pochodnych tylko).

CFile::typeUnicode

Ustawia tryb Unicode (wykorzystywane w klasach pochodnych tylko).Tekst jest pisany do pliku w formacie Unicode, podczas tworzenia aplikacji w konfiguracji Unicode.Nie BOM jest zapisywana do pliku.

Wybierz tylko jedną z następujących opcji trybu udziału plików.Jest to domyślny tryb udziału pliku CFile::shareExclusive, która jest wyłącznym.

Wartość

Opis

CFile::shareDenyNone

Nie ograniczeń udostępniania.

CFile::shareDenyRead

Uprawnienie do odczytu wszystkich innych osób.

CFile::shareDenyWrite

Uprawnienie do zapisu dla wszystkich innych.

CFile::shareExclusive

Uprawnienie odczytu i zapisu dla wszystkich innych.

Wybierz pierwsze lub oba z poniższych opcji tryb 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.; Jeśli plik już istnieje, CFileException zostanie zgłoszony.

CFile::modeNoTruncate

Jeśli plik nie istnieje, tworzy nowy plik w przeciwnym razie, jeśli plik już istnieje, jest on dołączony do CFile obiektu.

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

Wartość

Opis

CFile::osNoBuffer

System nie używa pośredni pamięci podręcznej dla pliku.Ta opcja anuluje następujących opcji 2.

CFile::osRandomAccess

Plik pamięci podręcznej jest zoptymalizowany do RAM.Nie należy używać tej opcji i opcji sekwencyjne skanowania.

CFile::osSequentialScan

Plik pamięci podręcznej jest zoptymalizowany do kolejnych dostępu.Nie należy używać tej opcji i opcji RAM.

CFile::osWriteThrough

Niezwłocznie wykonywane są operacje zapisu.

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

Wartość

Opis

CFile::modeNoInherit

Wszystkie procesy podrzędne zapobiega użyciu dojście do pliku.

Domyślny konstruktor inicjuje członków, ale nie dołączyć plik do CFile obiektu.Po użyciu tego konstruktora, użyj CFile::Open metodę w celu otwarcia pliku i dołączyć go do CFile obiektu.

Konstruktor z jednym parametrem inicjuje elementów członkowskich i dołącza istniejący plik do CFile obiektu.

Konstruktor z dwóch parametrów inicjuje elementów członkowskich i spróbuje otworzyć określonego pliku.Jeśli ten konstruktor otwiera pomyślnie określonego pliku, plik jest dołączony do CFile obiektu; w przeciwnym razie ten konstruktor zgłasza wskaźnik do CInvalidArgException obiektu.Aby uzyskać więcej informacji o sposobie 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 użytkownik musi jawnie Zamknij plik po nie jest już dołączony do CFile obiektu.

Przykład

Poniższy kod przedstawia sposób użycia CFile.

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

Diagram hierarchii