Pliki i strumienie

Program komunikuje się ze środowiskiem docelowym przez odczytywanie i zapisywanie plików. Plik może być:

  • Zestaw danych, który można wielokrotnie odczytywać i zapisywać.

  • Strumień bajtów wygenerowany przez program (np. potok).

  • Strumień bajtów odebranych z lub wysłany do urządzenia peryferyjnego.

Ostatnie dwa elementy to pliki interaktywne. Pliki są zazwyczaj głównym sposobem interakcji z programem. Manipulujesz wszystkimi tego rodzaju plikami w taki sam sposób: wywołując funkcje biblioteki. Dołączasz standardowy nagłówek STDIO. H, aby zadeklarować większość tych funkcji.

Aby można było wykonać wiele operacji na pliku, należy otworzyć plik. Otwarcie pliku kojarzy go ze strumieniem, strukturę danych w standardowej bibliotece C, która błyszczy na wiele różnic między plikami różnych rodzajów. Biblioteka utrzymuje stan każdego strumienia w obiekcie typu FILE.

Środowisko docelowe otwiera trzy pliki przed uruchomieniem programu. Plik można otworzyć, wywołując funkcję fopenbiblioteki z _wfopen dwoma argumentami. (Funkcja fopen została przestarzała, użyj funkcji fopen_s, _wfopen_s zamiast tego. Pierwszym argumentem jest nazwa pliku. Drugi argument to ciąg języka C, który określa:

  • Niezależnie od tego, czy zamierzasz odczytywać dane z pliku, czy zapisywać do niego dane, czy oba te dane.

  • Niezależnie od tego, czy zamierzasz wygenerować nową zawartość pliku (lub utworzyć plik, jeśli nie istnieje wcześniej), czy pozostawić istniejącą zawartość w miejscu.

  • Niezależnie od tego, czy zapisy w pliku mogą zmieniać istniejącą zawartość, czy powinny dołączać tylko bajty na końcu pliku.

  • Niezależnie od tego, czy chcesz manipulować strumieniem tekstowym, czy strumieniem binarnym.

Po pomyślnym otwarciu pliku można określić, czy strumień jest zorientowany na bajt (strumień bajtowy) czy szeroki (szeroki strumień). Strumień jest początkowo niezwiązany. Wywoływanie niektórych funkcji do działania na strumieniu sprawia, że jest zorientowany bajt, podczas gdy niektóre inne funkcje sprawiają, że jest szeroko zorientowany. Po ustanowieniu strumień zachowuje swoją orientację, dopóki nie zostanie zamknięty przez wywołanie metody fclose lub freopen.

© 1989-2001 przez P.J. Plauger i Jim Brodie. Wszelkie prawa zastrzeżone.

Zobacz też

Strumienie tekstowe i binarne
Strumienie bajtowe i szerokie
Kontrolowanie strumieni
Stany strumienia