Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracował: Piotr DejaVu Szawdyński
Pomógł: GoldWolf
Język C++

fopen

[funkcja] Otwiera wskazany plik.

Składnia

C/C++
#include <cstdio>

FILE * fopen( const char * sNazwaPliku, const char * sTryb );

Argumenty

ArgumentOpis
sNazwaPlikuNazwa pliku, który ma zostać otworzony.
sTrybOkreśla tryb dostępu, w jakim wskazany plik ma zostać otworzony. Lista dostępnych trybów znajduje się w dalszej części niniejszego dokumentu.

Zwracana wartość

Zwraca uchwyt do pliku w przypadku sukcesu. W przeciwnym wypadku funkcja zwraca wartość NULL.

Opis szczegółowy

Funkcja otwiera wskazany plik. Nazwę pliku określa się poprzez pierwszy argument. Drugi argument określa tryb dostępu do pliku.

Tryby dostępu do pliku

TrybOpis
"r"Otwiera istniejący plik w trybie do odczytu. Wskazany plik musi istnieć.

Możliwe jest odczytywane dowolnego fragmentu pliku.
"r+"Otwiera istniejący plik w trybie do odczytu i zapisu. Wskazany plik musi istnieć.

Możliwe jest odczytywane, dopisywanie jak również modyfikowanie dowolnego fragmentu pliku.
"w"Tworzy nowy plik i ustawia uchwyt w trybie do zapisu. Jeżeli plik o wskazanej nazwie istniał na dysku to jego zawartość ulegnie skasowaniu!

Możliwe jest dopisywanie oraz modyfikowanie dowolnego fragmentu pliku.
"w+"Tworzy nowy plik i ustawia uchwyt w trybie do odczytu jak i zapisu. Jeżeli plik o wskazanej nazwie istniał na dysku to jego zawartość ulegnie skasowaniu!

Możliwe jest odczytywane, dopisywanie jak również modyfikowanie dowolnego fragmentu pliku.
"a"Otwiera istniejący plik w trybie do zapisu. Jeżeli plik nie istnieje to zostanie on utworzony. Wszelkie nowe dane są dopisywane zawsze na końcu pliku. Wywołania funkcji » standard Cfseek, » standard Cfsetpos oraz » standard Crewind w tym trybie są ignorowane.

Możliwe jest dopisywanie danych do pliku.
"a+"Otwiera istniejący plik w trybie do odczytu i zapisu. Jeżeli plik nie istnieje to zostanie on utworzony. Wszelkie nowe dane są dopisywane zawsze na końcu pliku.

Możliwe jest dopisywanie na końcu pliku oraz odczytywane dowolnego fragmentu pliku.

Tryb binarny

Aby otworzyć plik w trybie binarnym, należy dopisać znak "b" w środku lub na końcu łańcucha, który opisuje tryb otwarcia pliku. Dopisanie znaku "b" na początku wspomnianego łańcucha znaków spowoduje, że otwarcie pliku zakończy się zawsze niepowodzeniem.

Tryb tekstowy

Standard C++ nie określa jasno, kiedy plik jest w trybie tekstowym, zatem cecha ta jest zależna od implementacji posiadanych bibliotek. Zazwyczaj plik jest otwierany w trybie tekstowym, gdy w łańcuchu znaków, który określa tryb nie występuje litera "b". W przypadku bibliotek dostarczanych wraz z kompilatorem Visual C++, tryb tekstowy określa się za pomocą litery "t".

Przykład

C/C++
#include <cstdio>

int main()
{
    FILE * hPlik = fopen( "Dokumentacja cpp0x.txt", "a" );
    if( hPlik )
    {
        fputs( "Ten tekst zostanie dopisany do podanego pliku.\n", hPlik );
        fclose( hPlik );
    } else
         printf( "Error! Nie udalo sie uzyskac dostepu pliku." );
   
    return 0;
}

Zagadnienia powiązane

fcloseZamyka strumień danych. (funkcja)
ferrorSprawdza czy wystąpił błąd w strumieniu. (funkcja)

Linki zewnętrzne