Biblioteka standardowa - operacje wejścia/wyjścia

Podobne dokumenty
Wskaźniki do funkcji. Wykład 11. Podstawy programowania ( język C ) Wskaźniki do funkcji (1) Wskaźniki do funkcji (2)

Funkcje zawarte w bibliotece < io.h >

Funkcje zawarte w bibliotece < io.h >

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C

ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików

Programowanie w językach wysokiego poziomu

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

7 Przygotował: mgr inż. Maciej Lasota

Ghost in the machine

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików

Strumienie i pliki. Programowanie Proceduralne 1

Tablice, funkcje - wprowadzenie

Programowanie Procedurale. Pliki w języku C++

Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński

۰ Elementem jednostkowym takiego pliku jest bajt. ۰ Format pliku binarnego: [bajty pliku][eof]

Podstawy programowania w języku C++

Operacje na plikach. Informatyka. Standardowe strumienie wejścia i wyjścia

Formatowane (tekstowe) wejście/wyjście. Binarne wejście/wyjście.

Plik jest reprezentowany przez strumień znaków (bajtów) o zmiennej długości. Koniec strumienia identyfikowany jest znacznikiem końca pliku EOF.

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

Programowanie Proceduralne

Program wykonujący operację na plikach powinien zachować schemat działania zapewniający poprawną pracę:

Podstawy programowania w języku C++

W języku C każdy plik fizyczny jest ciągiem bajtów, z których każdy może być niezależnie odczytany. Borland 01234

MATERIAŁY POMOCNICZE PODSTAWY PROGRAMOWANIA Na podstawie: Programowanie w C - Stworzone na Wikibooks, bibliotece wolny podręczników

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Języki programowania. Karolina Mikulska-Rumińska Pokój 573, tel Konsultacje wtorek 9-10.

Podstawy programowania w języku C++

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

Podstawy programowania w języku C++

Stałe i zmienne znakowe. Stała znakowa: znak

PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki <stdio.h>

ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików

Języki i metody programowania I

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

dr inż. Jarosław Forenc

Zmienne, stałe i operatory

Programowanie w językach

wer. 7 z drobnymi modyfikacjami Wojciech Myszka :48:

Politechnika Białostocka, Wydział Elektryczny, Katedra Elektrotechniki Teoretycznej i Metrologii ul. Wiejska 45D, Białystok

Języki programowania. Tablice struktur, pliki struktur. Część ósma. Autorzy Tomasz Xięski Roman Simiński

Politechnika Białostocka, Wydział Elektryczny, Katedra Elektrotechniki Teoretycznej i Metrologii ul. Wiejska 45D, Białystok

Operacje na plikach (niskiego poziomu) < IO.H >

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego

Tablice, funkcje, wskaźniki - wprowadzenie

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

2 Przygotował: mgr inż. Maciej Lasota

Struktury. Przykład W8_1

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17

Tablice w argumentach funkcji. Tablicy nie są przekazywane po wartości Tablicy są przekazywane przez referencje lub po wskaźniku

Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi.

Argumenty wywołania programu, operacje na plikach

Podstawy Programowania. Specyfikacja funkcji, operacje wejścia i wyjścia na plikach, rekurencja, tablice i wskaźniki

Podstawy Programowania

Wykład PASCAL - Pliki tekstowe

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

PODSTAW PROGRAMOWANIA WYKŁAD 7 ŁAŃCUCHY

Operacje wejścia/wyjścia odsłona pierwsza

Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku.

Bardzo szybkie podsumowanie: wykład 5

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

Ćwiczenie nr 8. Temat: Operacje na plikach - zapis i odczyt danych.

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

tablica: dane_liczbowe

Operacje wejścia/wyjścia (odsłona druga) - pliki

Języki i paradygmaty programowania 1 studia stacjonarne 2018/19

Spis treści JĘZYK C - PLIKI BINARNE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF30

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

4. Pliki Informacje ogólne o dostępie do plików w PHP Sprawdzanie istnienia pliku file_exists()

Klasa iostream... 1 Klasy ofstream, ifstream Struktura FILE... 8

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,

Część 4 życie programu

Ćwiczenie 7. Strumień trójelementowy. A g a EOF... EOF... Wprowadzenie do programowania w języku C. Wskaźnik bieżącej pozycji. bieżącej pozycji.

1 Przetwarzanie plików

Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1

Poprzedni wykład [ ] :

Laboratorium Systemów Operacyjnych. Ćwiczenie 4. Operacje na plikach

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Spis treści PLIKI BINARNE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF23

część 6 biblioteka standardowa wejścia - wyjścia 1. sformatowane wejście - wyjście 2. rekordowe (binarne) wejście - wyjście

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Wskaźniki. Programowanie Proceduralne 1

1. Wprowadzanie danych z klawiatury funkcja scanf

Wstęp do wskaźników w języku ANSI C

Który ciąg instrukcji nada zmiennej n wartość równą ilości liczb w pliku binarnym skojarzonym ze strumieniem fp? Wymierz odpowiedź

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

Transkrypt:

Biblioteka standardowa - operacje wejścia/wyjścia Przemysław Gawroński D-10, p. 234 Wykład 6 15 stycznia 2019 (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 1 / 14

Outline 1 Operacje wejścia/wyjścia (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 2 / 14

stdio.h - Operacje wejścia/wyjścia Plik - jednostka logiczna przechowywania danych w pamięci masowej. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 3 / 14

stdio.h - Operacje wejścia/wyjścia Plik - jednostka logiczna przechowywania danych w pamięci masowej. Plik - ciąg (zbiór) danych identyfikowany nazwą, o skończonej długości, posiadający szereg atrybutów i stanowiący dla systemu operacyjnego całość. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 3 / 14

stdio.h - Operacje wejścia/wyjścia Plik - jednostka logiczna przechowywania danych w pamięci masowej. Plik - ciąg (zbiór) danych identyfikowany nazwą, o skończonej długości, posiadający szereg atrybutów i stanowiący dla systemu operacyjnego całość. Plik binarny plik zawierający dowolny ciąg danych zakodowany w systemie binarnym. Podstawowa jednostka danych to 1 bajt. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 3 / 14

stdio.h - Operacje wejścia/wyjścia Plik - jednostka logiczna przechowywania danych w pamięci masowej. Plik - ciąg (zbiór) danych identyfikowany nazwą, o skończonej długości, posiadający szereg atrybutów i stanowiący dla systemu operacyjnego całość. Plik binarny plik zawierający dowolny ciąg danych zakodowany w systemie binarnym. Podstawowa jednostka danych to 1 bajt. Pliki binarne to wszystkie pliki, które nie są plikami tekstowymi. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 3 / 14

stdio.h - Operacje wejścia/wyjścia Plik - jednostka logiczna przechowywania danych w pamięci masowej. Plik - ciąg (zbiór) danych identyfikowany nazwą, o skończonej długości, posiadający szereg atrybutów i stanowiący dla systemu operacyjnego całość. Plik binarny plik zawierający dowolny ciąg danych zakodowany w systemie binarnym. Podstawowa jednostka danych to 1 bajt. Pliki binarne to wszystkie pliki, które nie są plikami tekstowymi. Plik tekstowy - plik zawierający tekst zapisany w ustalonym sposobie kodowania znaków drukarskich (np. ASCII, Unicode) wraz z kodami sterującymi, w tym także kod znaku końca pliku EOF (end-of-file) CTRL-Z. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 3 / 14

stdio.h - Operacje wejścia/wyjścia Plik - jednostka logiczna przechowywania danych w pamięci masowej. Plik - ciąg (zbiór) danych identyfikowany nazwą, o skończonej długości, posiadający szereg atrybutów i stanowiący dla systemu operacyjnego całość. Plik binarny plik zawierający dowolny ciąg danych zakodowany w systemie binarnym. Podstawowa jednostka danych to 1 bajt. Pliki binarne to wszystkie pliki, które nie są plikami tekstowymi. Plik tekstowy - plik zawierający tekst zapisany w ustalonym sposobie kodowania znaków drukarskich (np. ASCII, Unicode) wraz z kodami sterującymi, w tym także kod znaku końca pliku EOF (end-of-file) CTRL-Z. Plik tekstowy to ciąg znaków z podziałem na wiersze. Podstawowa jednostka danych to jeden znak. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 3 / 14

stdio.h - Operacje wejścia/wyjścia Plik - jednostka logiczna przechowywania danych w pamięci masowej. Plik - ciąg (zbiór) danych identyfikowany nazwą, o skończonej długości, posiadający szereg atrybutów i stanowiący dla systemu operacyjnego całość. Plik binarny plik zawierający dowolny ciąg danych zakodowany w systemie binarnym. Podstawowa jednostka danych to 1 bajt. Pliki binarne to wszystkie pliki, które nie są plikami tekstowymi. Plik tekstowy - plik zawierający tekst zapisany w ustalonym sposobie kodowania znaków drukarskich (np. ASCII, Unicode) wraz z kodami sterującymi, w tym także kod znaku końca pliku EOF (end-of-file) CTRL-Z. Plik tekstowy to ciąg znaków z podziałem na wiersze. Podstawowa jednostka danych to jeden znak. Jeden znak zakodowany w standardzie ASCII to 1 bajt. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 3 / 14

stdio.h - Operacje wejścia/wyjścia Plik - jednostka logiczna przechowywania danych w pamięci masowej. Plik - ciąg (zbiór) danych identyfikowany nazwą, o skończonej długości, posiadający szereg atrybutów i stanowiący dla systemu operacyjnego całość. Plik binarny plik zawierający dowolny ciąg danych zakodowany w systemie binarnym. Podstawowa jednostka danych to 1 bajt. Pliki binarne to wszystkie pliki, które nie są plikami tekstowymi. Plik tekstowy - plik zawierający tekst zapisany w ustalonym sposobie kodowania znaków drukarskich (np. ASCII, Unicode) wraz z kodami sterującymi, w tym także kod znaku końca pliku EOF (end-of-file) CTRL-Z. Plik tekstowy to ciąg znaków z podziałem na wiersze. Podstawowa jednostka danych to jeden znak. Jeden znak zakodowany w standardzie ASCII to 1 bajt. Jeden znak zakodowany w standardzie Unicode to dwa bajty lub więcej. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 3 / 14

stdio.h - Operacje wejścia/wyjścia Koniec linii (end of line, EOL) znak lub sekwencja znaków oznaczająca zakończenie wiersza w pliku tekstowym. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 4 / 14

stdio.h - Operacje wejścia/wyjścia Koniec linii (end of line, EOL) znak lub sekwencja znaków oznaczająca zakończenie wiersza w pliku tekstowym. W systemach opartych na kodowaniu ASCII są to kombinacje kodów CR (carriage return 0x0D) i LF (line feed 0x0A): (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 4 / 14

stdio.h - Operacje wejścia/wyjścia Koniec linii (end of line, EOL) znak lub sekwencja znaków oznaczająca zakończenie wiersza w pliku tekstowym. W systemach opartych na kodowaniu ASCII są to kombinacje kodów CR (carriage return 0x0D) i LF (line feed 0x0A): LF - \n w systemach UNIX/Linux (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 4 / 14

stdio.h - Operacje wejścia/wyjścia Koniec linii (end of line, EOL) znak lub sekwencja znaków oznaczająca zakończenie wiersza w pliku tekstowym. W systemach opartych na kodowaniu ASCII są to kombinacje kodów CR (carriage return 0x0D) i LF (line feed 0x0A): LF - \n w systemach UNIX/Linux CRLF - \r\n w systemach Windows (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 4 / 14

stdio.h - Operacje wejścia/wyjścia Koniec linii (end of line, EOL) znak lub sekwencja znaków oznaczająca zakończenie wiersza w pliku tekstowym. W systemach opartych na kodowaniu ASCII są to kombinacje kodów CR (carriage return 0x0D) i LF (line feed 0x0A): LF - \n w systemach UNIX/Linux CRLF - \r\n w systemach Windows CR - \r w systemach MacOS (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 4 / 14

stdio.h - Operacje wejścia/wyjścia W języku C strumień oznacza dowolne źródło wejścia lub wyjścia. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 5 / 14

stdio.h - Operacje wejścia/wyjścia W języku C strumień oznacza dowolne źródło wejścia lub wyjścia. W języku C zdefiniowano standardowe strumienie: (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 5 / 14

stdio.h - Operacje wejścia/wyjścia W języku C strumień oznacza dowolne źródło wejścia lub wyjścia. W języku C zdefiniowano standardowe strumienie: stdin - standardowe wejście - klawiatura. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 5 / 14

stdio.h - Operacje wejścia/wyjścia W języku C strumień oznacza dowolne źródło wejścia lub wyjścia. W języku C zdefiniowano standardowe strumienie: stdin - standardowe wejście - klawiatura. stdout - standardowe wyjście - ekran. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 5 / 14

stdio.h - Operacje wejścia/wyjścia W języku C strumień oznacza dowolne źródło wejścia lub wyjścia. W języku C zdefiniowano standardowe strumienie: stdin - standardowe wejście - klawiatura. stdout - standardowe wyjście - ekran. stderr - standardowe wyjście błędów - ekran (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 5 / 14

stdio.h - Operacje wejścia/wyjścia W języku C strumień oznacza dowolne źródło wejścia lub wyjścia. W języku C zdefiniowano standardowe strumienie: stdin - standardowe wejście - klawiatura. stdout - standardowe wyjście - ekran. stderr - standardowe wyjście błędów - ekran Przekierowanie wejścia./a.out < input.dat (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 5 / 14

stdio.h - Operacje wejścia/wyjścia W języku C strumień oznacza dowolne źródło wejścia lub wyjścia. W języku C zdefiniowano standardowe strumienie: stdin - standardowe wejście - klawiatura. stdout - standardowe wyjście - ekran. stderr - standardowe wyjście błędów - ekran Przekierowanie wejścia./a.out < input.dat Przekierowanie wyjścia./a.out > output.dat (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 5 / 14

stdio.h - Operacje wejścia/wyjścia W języku C strumień oznacza dowolne źródło wejścia lub wyjścia. W języku C zdefiniowano standardowe strumienie: stdin - standardowe wejście - klawiatura. stdout - standardowe wyjście - ekran. stderr - standardowe wyjście błędów - ekran Przekierowanie wejścia./a.out < input.dat Przekierowanie wyjścia./a.out > output.dat Przekierowanie wyjścia i wyjścia./a.out >out.dat <in.dat (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 5 / 14

stdio.h - Operacje wejścia/wyjścia W języku C strumień oznacza dowolne źródło wejścia lub wyjścia. W języku C zdefiniowano standardowe strumienie: stdin - standardowe wejście - klawiatura. stdout - standardowe wyjście - ekran. stderr - standardowe wyjście błędów - ekran Przekierowanie wejścia./a.out < input.dat Przekierowanie wyjścia./a.out > output.dat Przekierowanie wyjścia i wyjścia./a.out >out.dat <in.dat Przekierowanie wejścia błędów./a.out 2> err.dat (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 5 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() FILE *fopen (const char *fname, const char *mode); - otwiera plik o nazwie fname w trybie mode i zwraca związany z nim strumień. Typy dozwolonych operacji na pliku określa wartość parametru mode. Nazwa pliku musi być łańcuchem. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 6 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() FILE *fopen (const char *fname, const char *mode); - otwiera plik o nazwie fname w trybie mode i zwraca związany z nim strumień. Typy dozwolonych operacji na pliku określa wartość parametru mode. Nazwa pliku musi być łańcuchem. Dopuszczalne wartości parametru mode: (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 6 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() FILE *fopen (const char *fname, const char *mode); - otwiera plik o nazwie fname w trybie mode i zwraca związany z nim strumień. Typy dozwolonych operacji na pliku określa wartość parametru mode. Nazwa pliku musi być łańcuchem. Dopuszczalne wartości parametru mode: r - otwarcie pliku tekstowego do odczytu, (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 6 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() FILE *fopen (const char *fname, const char *mode); - otwiera plik o nazwie fname w trybie mode i zwraca związany z nim strumień. Typy dozwolonych operacji na pliku określa wartość parametru mode. Nazwa pliku musi być łańcuchem. Dopuszczalne wartości parametru mode: r - otwarcie pliku tekstowego do odczytu, w - utworzenie pliku tekstowego do zapisu, (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 6 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() FILE *fopen (const char *fname, const char *mode); - otwiera plik o nazwie fname w trybie mode i zwraca związany z nim strumień. Typy dozwolonych operacji na pliku określa wartość parametru mode. Nazwa pliku musi być łańcuchem. Dopuszczalne wartości parametru mode: r - otwarcie pliku tekstowego do odczytu, w - utworzenie pliku tekstowego do zapisu, a - otwarcie pliku tekstowego do dopisywania, (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 6 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() FILE *fopen (const char *fname, const char *mode); - otwiera plik o nazwie fname w trybie mode i zwraca związany z nim strumień. Typy dozwolonych operacji na pliku określa wartość parametru mode. Nazwa pliku musi być łańcuchem. Dopuszczalne wartości parametru mode: r - otwarcie pliku tekstowego do odczytu, w - utworzenie pliku tekstowego do zapisu, a - otwarcie pliku tekstowego do dopisywania, rb - otwarcie pliku binarnego do odczytu, (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 6 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() FILE *fopen (const char *fname, const char *mode); - otwiera plik o nazwie fname w trybie mode i zwraca związany z nim strumień. Typy dozwolonych operacji na pliku określa wartość parametru mode. Nazwa pliku musi być łańcuchem. Dopuszczalne wartości parametru mode: r - otwarcie pliku tekstowego do odczytu, w - utworzenie pliku tekstowego do zapisu, a - otwarcie pliku tekstowego do dopisywania, rb - otwarcie pliku binarnego do odczytu, wb - utworzenie pliku binarnego do zapisu, (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 6 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() FILE *fopen (const char *fname, const char *mode); - otwiera plik o nazwie fname w trybie mode i zwraca związany z nim strumień. Typy dozwolonych operacji na pliku określa wartość parametru mode. Nazwa pliku musi być łańcuchem. Dopuszczalne wartości parametru mode: r - otwarcie pliku tekstowego do odczytu, w - utworzenie pliku tekstowego do zapisu, a - otwarcie pliku tekstowego do dopisywania, rb - otwarcie pliku binarnego do odczytu, wb - utworzenie pliku binarnego do zapisu, ab - otwarcie pliku binarnego do dopisywania, (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 6 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() Dopuszczalne wartości parametru mode: (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 7 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() Dopuszczalne wartości parametru mode: r+ - otwarcie pliku tekstowego do odczytu/zapisu, zaczynamy operacje na początku pliku. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 7 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() Dopuszczalne wartości parametru mode: r+ - otwarcie pliku tekstowego do odczytu/zapisu, zaczynamy operacje na początku pliku. w+ - utworzenie pliku tekstowego do odczytu/zapisu, istniejący plik jest usuwany. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 7 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() Dopuszczalne wartości parametru mode: r+ - otwarcie pliku tekstowego do odczytu/zapisu, zaczynamy operacje na początku pliku. w+ - utworzenie pliku tekstowego do odczytu/zapisu, istniejący plik jest usuwany. a+ - otwarcie pliku tekstowego do odczytu/dopisywania, dodajemy na koniec jeśli plik istnieje (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 7 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() Dopuszczalne wartości parametru mode: r+ - otwarcie pliku tekstowego do odczytu/zapisu, zaczynamy operacje na początku pliku. w+ - utworzenie pliku tekstowego do odczytu/zapisu, istniejący plik jest usuwany. a+ - otwarcie pliku tekstowego do odczytu/dopisywania, dodajemy na koniec jeśli plik istnieje rb+ - otwarcie pliku binarnego do odczytu/zapisu, (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 7 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() Dopuszczalne wartości parametru mode: r+ - otwarcie pliku tekstowego do odczytu/zapisu, zaczynamy operacje na początku pliku. w+ - utworzenie pliku tekstowego do odczytu/zapisu, istniejący plik jest usuwany. a+ - otwarcie pliku tekstowego do odczytu/dopisywania, dodajemy na koniec jeśli plik istnieje rb+ - otwarcie pliku binarnego do odczytu/zapisu, wb+ - utworzenie pliku tekstowego do odczytu/zapisu, (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 7 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() Dopuszczalne wartości parametru mode: r+ - otwarcie pliku tekstowego do odczytu/zapisu, zaczynamy operacje na początku pliku. w+ - utworzenie pliku tekstowego do odczytu/zapisu, istniejący plik jest usuwany. a+ - otwarcie pliku tekstowego do odczytu/dopisywania, dodajemy na koniec jeśli plik istnieje rb+ - otwarcie pliku binarnego do odczytu/zapisu, wb+ - utworzenie pliku tekstowego do odczytu/zapisu, ab+ - otwarcie pliku tekstowego do odczytu/dopisywania, (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 7 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() Dopuszczalne wartości parametru mode: r+ - otwarcie pliku tekstowego do odczytu/zapisu, zaczynamy operacje na początku pliku. w+ - utworzenie pliku tekstowego do odczytu/zapisu, istniejący plik jest usuwany. a+ - otwarcie pliku tekstowego do odczytu/dopisywania, dodajemy na koniec jeśli plik istnieje rb+ - otwarcie pliku binarnego do odczytu/zapisu, wb+ - utworzenie pliku tekstowego do odczytu/zapisu, ab+ - otwarcie pliku tekstowego do odczytu/dopisywania, Odczytywanie z pliku otwartego do odczytu/zapisu związane jest z koniecznością użycia jednej z funkcji: fflush(), fseek(), fsetpos() lub rewind(). (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 7 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() Dopuszczalne wartości parametru mode: r+ - otwarcie pliku tekstowego do odczytu/zapisu, zaczynamy operacje na początku pliku. w+ - utworzenie pliku tekstowego do odczytu/zapisu, istniejący plik jest usuwany. a+ - otwarcie pliku tekstowego do odczytu/dopisywania, dodajemy na koniec jeśli plik istnieje rb+ - otwarcie pliku binarnego do odczytu/zapisu, wb+ - utworzenie pliku tekstowego do odczytu/zapisu, ab+ - otwarcie pliku tekstowego do odczytu/dopisywania, Odczytywanie z pliku otwartego do odczytu/zapisu związane jest z koniecznością użycia jednej z funkcji: fflush(), fseek(), fsetpos() lub rewind(). Nie można wykonać operacji zapisu bezpośrednio po operacji odczytu bez uprzedniego wywołania jednej z powyższych funkcji, z wyjątkiem sytuacji, w której w wyniku operacji odczytu osiągnięty został koniec pliku. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 7 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() Jeśli funkcji fopen() uda się otworzyć określony plik wówczas zwraca wskaźnik do typu FILE. Jeśli pliku nie można otworzyć zwraca wskaźnik zerowy (NULL). (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 8 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() Jeśli funkcji fopen() uda się otworzyć określony plik wówczas zwraca wskaźnik do typu FILE. Jeśli pliku nie można otworzyć zwraca wskaźnik zerowy (NULL). Przykład. FILE *fp = fopen (" test. dat ", "w"); if (! fp){ printf (" Nie mozna utworzyc pliku.\n"); exit ( EXIT_FAILURE ); }... // zamykamy plik } (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 8 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() Jeśli funkcji fopen() uda się otworzyć określony plik wówczas zwraca wskaźnik do typu FILE. Jeśli pliku nie można otworzyć zwraca wskaźnik zerowy (NULL). Przykład. FILE *fp = fopen (" test. dat ", "w"); if (! fp){ printf (" Nie mozna utworzyc pliku.\n"); exit ( EXIT_FAILURE ); }... // zamykamy plik } Jeżeli otworzymy do zapisu istniejący plik to cała jego zawartość zostanie stracona. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 8 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() Jeśli funkcji fopen() uda się otworzyć określony plik wówczas zwraca wskaźnik do typu FILE. Jeśli pliku nie można otworzyć zwraca wskaźnik zerowy (NULL). Przykład. FILE *fp = fopen (" test. dat ", "w"); if (! fp){ printf (" Nie mozna utworzyc pliku.\n"); exit ( EXIT_FAILURE ); }... // zamykamy plik } Jeżeli otworzymy do zapisu istniejący plik to cała jego zawartość zostanie stracona. Plik, który ma być otwarty do odczytu musi istnieć. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 8 / 14

stdio.h - Operacje wejścia/wyjścia - fopen() Jeśli funkcji fopen() uda się otworzyć określony plik wówczas zwraca wskaźnik do typu FILE. Jeśli pliku nie można otworzyć zwraca wskaźnik zerowy (NULL). Przykład. FILE *fp = fopen (" test. dat ", "w"); if (! fp){ printf (" Nie mozna utworzyc pliku.\n"); exit ( EXIT_FAILURE ); }... // zamykamy plik } Jeżeli otworzymy do zapisu istniejący plik to cała jego zawartość zostanie stracona. Plik, który ma być otwarty do odczytu musi istnieć. Jednocześnie można otworzyć do FOPEN MAX plików, definicja znajduje (Wykład 6) się w stdio.h. Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 8 / 14

stdio.h - Operacje wejścia/wyjścia - fclose() int fclose(file *stream); - zamyka strumień stream i opróżnia jego bufor. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 9 / 14

stdio.h - Operacje wejścia/wyjścia - fclose() int fclose(file *stream); - zamyka strumień stream i opróżnia jego bufor. Po wywołaniu funkcji fclose() strumień przestaje być związany z plikiem i wszystkie automatycznie alokowane bufory są zwalniane. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 9 / 14

stdio.h - Operacje wejścia/wyjścia - fclose() int fclose(file *stream); - zamyka strumień stream i opróżnia jego bufor. Po wywołaniu funkcji fclose() strumień przestaje być związany z plikiem i wszystkie automatycznie alokowane bufory są zwalniane. Zwracaną wartością w przypadku poprawnego zamknięcia pliku jest zero. W przypadku niepowodzenia zawracana jest wartość EOF. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 9 / 14

stdio.h - Operacje wejścia/wyjścia - fclose() int fclose(file *stream); - zamyka strumień stream i opróżnia jego bufor. Po wywołaniu funkcji fclose() strumień przestaje być związany z plikiem i wszystkie automatycznie alokowane bufory są zwalniane. Zwracaną wartością w przypadku poprawnego zamknięcia pliku jest zero. W przypadku niepowodzenia zawracana jest wartość EOF. Błędem jest próba zamknięcia pliku, który już został zamknięty. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 9 / 14

stdio.h - Operacje wejścia/wyjścia - fclose() int fclose(file *stream); - zamyka strumień stream i opróżnia jego bufor. Po wywołaniu funkcji fclose() strumień przestaje być związany z plikiem i wszystkie automatycznie alokowane bufory są zwalniane. Zwracaną wartością w przypadku poprawnego zamknięcia pliku jest zero. W przypadku niepowodzenia zawracana jest wartość EOF. Błędem jest próba zamknięcia pliku, który już został zamknięty. char fname []= " test. dat "; FILE *fp = fopen ( fname, "r"); if (! fp){ printf (" Nie mozna otworzyc : %s.\n", fname ); exit ( EXIT_FAILURE ); }... fclose (fp); } (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 9 / 14

stdio.h - Operacje wejścia/wyjścia - fprintf() int fprintf(file *stream, const char *format,...); - wypisuje do strumienia stream wartości argumentów wymienione na liście argumentów zgodnie z parametrem format. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 10 / 14

stdio.h - Operacje wejścia/wyjścia - fprintf() int fprintf(file *stream, const char *format,...); - wypisuje do strumienia stream wartości argumentów wymienione na liście argumentów zgodnie z parametrem format. Zwracana wartość jest równa liczbie wypisanych znaków, w przypadku błędu funkcja zwraca wartość ujemną. Działanie łańcucha formatującego jest identyczne jak w przypadku funkcji printf(). (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 10 / 14

stdio.h - Operacje wejścia/wyjścia - fprintf() int fprintf(file *stream, const char *format,...); - wypisuje do strumienia stream wartości argumentów wymienione na liście argumentów zgodnie z parametrem format. Zwracana wartość jest równa liczbie wypisanych znaków, w przypadku błędu funkcja zwraca wartość ujemną. Działanie łańcucha formatującego jest identyczne jak w przypadku funkcji printf(). FILE * pfile = fopen (" myfile. txt ", "w"); if( pfile ){ double *pt=tab ; for (; pt < tab + SIZE ; pt ++) fprintf ( pfile, "%lf\n", *pt); fclose ( pfile ); } (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 10 / 14

stdio.h - Operacje wejścia/wyjścia - fprintf() printf ("%lf\n", 12.34) ; fprintf ( stdout, "%lf\n", 12.34) ; fprintf ( pfile, "%lf\n", 12.34) ; sprintf ( buffer, "%lf\n", 12.34) ; (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 11 / 14

stdio.h - Operacje wejścia/wyjścia - fprintf() printf ("%lf\n", 12.34) ; fprintf ( stdout, "%lf\n", 12.34) ; fprintf ( pfile, "%lf\n", 12.34) ; sprintf ( buffer, "%lf\n", 12.34) ; scanf ("%lf", &x); fscanf ( stdin, "%lf", &x); fscanf ( pfile, "%lf", &x); sscanf ( buffer, "%lf", &x); (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 11 / 14

stdio.h - Operacje wejścia/wyjścia - fprintf() int fscanf(file *stream, const char *format,...); - odczytuje dane ze strumienia stream zgodnie z parametrem format. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 12 / 14

stdio.h - Operacje wejścia/wyjścia - fprintf() int fscanf(file *stream, const char *format,...); - odczytuje dane ze strumienia stream zgodnie z parametrem format. Zwracana wartość jest równa liczbie argumentów, którym udało się przypisać wartość, Działanie łańcucha formatującego jest identyczne jak w przypadku funkcji scanf(). (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 12 / 14

stdio.h - Operacje wejścia/wyjścia - fprintf() int fscanf(file *stream, const char *format,...); - odczytuje dane ze strumienia stream zgodnie z parametrem format. Zwracana wartość jest równa liczbie argumentów, którym udało się przypisać wartość, Działanie łańcucha formatującego jest identyczne jak w przypadku funkcji scanf(). FILE * pfile = fopen (" myfile. txt ", "r"); if( pfile ){ double *pt=tab ; for (; pt < tab + SIZE ; pt ++) fscanf ( pfile, "%lf", pt); fclose ( pfile ); } (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 12 / 14

stdio.h - Operacje wejścia/wyjścia - fwrite() size t fwrite(const void *ptr, size t size, size t count, FILE *stream ); - zapisuje tablicę ptr do strumienia (pliku) binarnego stream. size rozmiar komórki tablicy ptr. count ilość elementów tablicy ptr. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 13 / 14

stdio.h - Operacje wejścia/wyjścia - fwrite() size t fwrite(const void *ptr, size t size, size t count, FILE *stream ); - zapisuje tablicę ptr do strumienia (pliku) binarnego stream. size rozmiar komórki tablicy ptr. count ilość elementów tablicy ptr. float tab [56];... FILE * pfile = fopen (" myfile. txt ", "wb"); if( pfile ){ fwrite (tab, sizeof ( float ), sizeof ( tab )/ sizeof (* tab ), pfile ); fclose ( pfile ); } (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 13 / 14

stdio.h - Operacje wejścia/wyjścia - fread() size t fread(void *ptr, size t size, size t count, FILE *stream ); - odczytuje ze strumienia (pliku) binarnego stream dane do tablicy ptr. size rozmiar komórki tablicy ptr. count ilość elementów tablicy ptr. (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 14 / 14

stdio.h - Operacje wejścia/wyjścia - fread() size t fread(void *ptr, size t size, size t count, FILE *stream ); - odczytuje ze strumienia (pliku) binarnego stream dane do tablicy ptr. size rozmiar komórki tablicy ptr. count ilość elementów tablicy ptr. float tab [56];... FILE * pfile = fopen (" myfile. txt ", "rb"); if( pfile ){ fread (tab, sizeof (* tab ), sizeof ( tab )/ sizeof (* tab ), pfile ); fclose ( pfile ); } (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 14 / 14