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