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