Ciąg, który jest ścieżką do żądanego pliku. Ścieżka może być względna lub bezwzględna.
nOpenFlags
Tryb udostępniania i dostępu. Określa akcję do wykonania po otwarciu pliku. Można połączyć opcje wymienione poniżej przy użyciu operatora logiczną lub (|). Wymagane są uprawnienia dostępu jeden i opcję jeden udziału; tryby modeCreate i modeNoInherit są opcjonalne. Wartości są następujące:
CFile::modeCreate Kieruje konstruktor, aby utworzyć nowy plik. Jeżeli pliku już istnieje, jest obcinana do długości 0.
CFile::mode&NoTruncatenbsp; Połączyć tę wartość z modeCreate. Jeśli istnieje już tworzony plik, nie zostaje on przycięty do długości 0. W ten sposób plik jest gwarantowane otworzyć, jako nowo utworzonego pliku lub istniejącego pliku. Może to być przydatne w na, podczas otwierania pliku ustawień, które mogą lub nie mogą już istnieć. Opcja ta ma zastosowanie do CStdioFile jak również.
CFile::modeRead Otwiera plik tylko do czytania.
CFile::modeReadWrite Otwiera plik do odczytu i zapisu.
CFile::modeWrite Otwiera plik do pisania tylko.
CFile::mode&NoInheritnbsp; Zapobiega pliku dziedziczone przez procesy podrzędne.
CFile::shareDeny&Nonenbsp; Otwiera plik bez odmawiania innych procesów odczytu lub zapisu do pliku. Tworzenie zakończy się niepowodzeniem, jeśli plik został otwarty w trybie zgodności przez jakikolwiek inny proces.
CFile::shareDe&nyReadnbsp; Otwiera plik i odrzuca pozostałe procesy dostęp do odczytu do pliku. Tworzenie zakończy się niepowodzeniem, jeśli plik ma został otwarty w trybie zgodności lub dla dostępu do odczytu przez jakikolwiek inny proces.
CFile::shareDe&nyWritenbsp; Otwiera plik i odmawia innych procesów dostęp do zapisu do pliku. Tworzenie zakończy się niepowodzeniem, jeśli plik ma został otwarty w trybie zgodności lub zapisu przez jakikolwiek inny proces.
CFile::shareExclusive Otwiera plik w trybie wyłączności, odmawianie innych procesów zarówno odczytu i zapisu do pliku. Budowa zakończy się niepowodzeniem, jeśli plik został otwarty w innym trybie do odczytu i zapisu, nawet przez bieżący proces.
CFile::shareCompat Ta flaga nie jest dostępna w 32-bitowym MFC. Ta flaga jest mapowany na CFile::shareExclusive w CFile::Open.
CFile::typeText Ustawia tryb tekst ze specjalnego przetwarzania dla przewozu return–linefeed par (używane w tylko klas pochodnych).
CFile::typeBi&narynbsp; Ustawia tryb binarny (używane w tylko klas pochodnych).
Uwagi
Domyślnego konstruktora nie otwierać pliku, ale raczej ustawia m_hFile do CFile::hFileNull. Ponieważ ten konstruktor nie Zgłoś wyjątek, nie czyni warto używać, WYPRÓBUJ/połowu logiki. Należy stosować funkcję Państwa otwarte , a następnie przetestować bezpośrednio w odniesieniu do warunków wyjątków. Omówienie strategii wyjątek przetwarzania, zobacz artykuł wyjątków w Visual C++ Programmer's Guide.
Konstruktora jeden argument tworzy obiekt CFile , który odnosi się do istniejącego pliku systemu operacyjnego oznaczona hFile. Nie skontrolowana jest typ pliku lub tryb dostępu. Kiedy niszczony jest obiekt CFile , pliku systemu operacyjnego nie zostanie zamknięte. Należy zamknąć plik samodzielnie.
Konstruktora dwa argumenty tworzy obiekt CFile i otwarcie odpowiedniego pliku systemu operacyjnego z danej ścieżki. Ten konstruktor łączy funkcji konstruktora pierwszy i otwartej funkcji składowej. Jeśli wystąpi błąd podczas otwierania pliku, zgłasza wyjątek. Ogólnie rzecz biorąc oznacza to, że błąd jest nieodwracalny i że zostanie wyświetlony alert.
Przykład
//Example do CFile::CFile
char * pFileName = "test.dat";
SPRÓBUJ
{
CFile f (pFileName, CFile::modeCreate | CFile::modeWrite);
}
POŁÓW (CFileException, e)
{
#ifdef _DEBUG
afxDump lt; < "Pliku nie można otworzyć" << e-> m_cause << "" \n";
#ENDIF
}
END_CATCH