7 Przygotował: mgr inż. Maciej Lasota

Podobne dokumenty
Programowanie w językach wysokiego poziomu

Biblioteka standardowa - operacje wejścia/wyjścia

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

INFORMATYKA Studia Niestacjonarne Elektrotechnika

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

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

2 Przygotował: mgr inż. Maciej Lasota

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

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

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

Argumenty wywołania programu, operacje na plikach

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

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

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

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

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

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

Podstawy programowania w języku C++

Tablice, funkcje - wprowadzenie

Strumienie i pliki. Programowanie Proceduralne 1

PODSTAW PROGRAMOWANIA WYKŁAD 7 ŁAŃCUCHY

Podstawy programowania w języku C++

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

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

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

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

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

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania

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

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

Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:

Programowanie Procedurale. Pliki 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

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

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

Kier. MTR Programowanie w MATLABie Laboratorium

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

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

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

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

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,

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

Programowanie Proceduralne

Laboratorium 6: Ciągi znaków. mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.

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

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

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

Ghost in the machine

Wykład PASCAL - Pliki tekstowe

Języki i metody programowania I

Podstawy programowania w języku C++

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

dr inż. Jarosław Forenc

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

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

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

#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 ); }

Metodyki i Techniki Programowania MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

1. Wprowadzanie danych z klawiatury funkcja scanf

Pliki. Operacje na plikach w Pascalu

Laboratorium Algorytmy Obliczeniowe. Lab. 9 Prezentacja wyników w Matlabie

Temat: Operacje na plikach. Pliki tekstowe i binarne. Faza otwarcia, zapisu/odczytu i zamknicia pliku.

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

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

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

#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 ); }

C Operacje na plikach

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 7- sem.iii. M. Czyżak

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

Języki i metodyka programowania. Wprowadzenie do języka C

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

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

Metody zawarte w klasie File: boolean createnewfile() tworzy nowy, pusty plik, ale tylko jeśli on wcześniej nie istniał. boolean delete() usuwa dany

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

Wykład 4. Tablice. Pliki

wer. 7 z drobnymi modyfikacjami Wojciech Myszka :48:

Podstawy programowania w języku C++

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 5. Karol Tarnowski A-1 p.

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 9 - sem.iii. Dr inż. M. Czyżak

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Programowanie w językach

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

Podstawy Programowania

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

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

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

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Funkcja (podprogram) void

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop

Podstawy programowania 1

Podstawy programowania skrót z wykładów:

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

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

Tablice, funkcje, wskaźniki - wprowadzenie

Poprzedni wykład [ ] :

Transkrypt:

Laboratorium nr 7 1/5 Język C Instrukcja laboratoryjna Temat: Operacje na plikach. 7 Przygotował: mgr inż. Maciej Lasota 1) Pliki. Plik (ang. file), jest to nazwany ciąg danych (inaczej zbiór danych), o skończonej długości, posiadający szereg atrybutów i stanowiący dla systemu operacyjnego całość. Język C posiada w pliku nagłówkowym <stdio.h> zadeklarowane funkcje służące do obsługi plików. Funkcje te pozwalają na otwieranie, tworzenie oraz modyfikację różnych plików zarówno tekstowych (ASCII) jak i też binarnych. Podstawową strukturą opisującą plik (jako zbiór danych na dysku) jest typ danych FILE tzw. typ plikowy. Za pomocą wskaźnika na zmienną plikową możemy mieć dostęp do pliku. Deklaracja wskaźnika na taką zmienną jest następująca: 2) Otwieranie pliku. Do otworzenia pliku w języku C służy funkcja fopen(). Funkcja ta przyjmuje dwa parametry. Pierwszym argumentem jest nazwa pliku. Drugim natomiast atrybut, który określa w jaki sposób ma zostać otworzony plik (atrybuty można ze sobą łączyć). Funkcja zwraca wskaźnik na zmienną plikową. [wskaźnik na zmienną plikową] = fopen( nazwa pliku, atrybuty ); plik = fopen( dane.txt, r ); Nazwa pliku jest to bezpośrednia nazwa podana w cudzysłowach, lub z podaniem katalogu. Oprócz bezpośredniej nazwy możemy podać też tablicę znaków (łańcuch) zawierający ścieżkę do pliku lub samą nazwę pliku. Atrybut określa w jaki sposób ma być otworzony plik lub też jakiego typu jest to plik.

Laboratorium nr 7 2/5 r w a r+ w+ a+ b - otwórz plik do odczytu, - otwórz plik do zapisu, jeśli plik istniej skasuj poprzednią zawartość, - dopisuj do pliku, ewentualnie utwórz plik z dopisywaniem do końca pliku, - otwórz plik tekstowy do odczytu i zapisu, - utwórz plik tekstowy do aktualizacji skasuj plik jeśli istnieje, - dopisuj do pliku, ewentualnie utwórz plik do aktualizacji, - otwórz plik binarny. 3) Odczyt danych z pliku. W języku C wyróżniamy kilka sposobów służących do odczytu danych z pliku. Dwie podstawowe funkcje służące do tego celu to fgetc() oraz fgets(). Funkcje te zadeklarowane są w pliku nagłówkowym <stdio.h>. fgetc(strumien) funkcja ta odczytuj pojedynczy znak z pliku i zwraca liczbę całkowitą (kod ASCII) odpowiadającą danemu znakowi. fgets(tablica,n,strumien) funkcja odczytuje co najwyżej (n 1) znaków z pliku i wstawia je do podanej tablicy. Innym sposobem na odczyt danych z pliku, jest wykorzystanie funkcji konwersji Podobnie jak w przypadku wczytywania danych z klawiatury za pomocą scanf() istnieje specjalna wersja przystosowana do wczytywania danych z pliku. Funkcją tą jest fscanf() zadeklarowana jest ona w pliku nagłówkowym <stdio.h>. int fscanf(file *strumien, const char *format, ); int c;

Laboratorium nr 7 3/5 plik = fopen(argv[1],"r"); printf("odczytuje zawartosc pliku: %s\n\n",argv[1]); if(plik == NULL) printf("blad otwarcia pliku \n"); while((c=fgetc(plik))!= EOF) printf("%c",c); printf("\n"); 4) Zapis danych do pliku. Również w przypadku zapisu danych do pliku, wyróżniamy kilka rodzajów funkcji służących do tego celu. fputc(c,strumien) funkcja ta zapisuje pojedynczy znak c do pliku. fputs(tablica,strumien) funkcja ta zapisuje tekst zawarty w tablicy do pliku. Podobnie do funkcji printf() istniej również funkcja konwersji służąca do zapisu danych do pliku, jest nią funkcja fprintf(). int fprintf(file *strumien, const char *format, ); Pierwszym argumentem funkcji fprintf() jest wskaźnik na zmienną plikową, drugim tekst formatujący czyli stała znakowa. Znak procenta oznacza rozpoczęcie tzw. specyfikatora formatu. Specyfikator formatu pozwala na wprowadzenie w jego miejsce wartości kolejnych argumentów funkcji printf() (wyjątek stanowi %%, który umożliwia wprowadzenie znaku % ). Znak \ w tekście formatującym umożliwia wprowadzenie tzw. znaków specjalnych.

Laboratorium nr 7 4/5 int c; if((plik = fopen(argv[1],"a")) == NULL) printf("blad otwarcia pliku \n"); printf("zapisuje do pliku: %s\n\n",argv[1]); while((c=getchar())!= '#') fputc((int)c,plik); #define MAX 255 char linia[max]; int c,i;

Laboratorium nr 7 5/5 if((plik = fopen(argv[1],"a")) == NULL) printf("blad otwarcia pliku \n"); while(gets(linia)!= NULL && linia[0]!= '\0') fprintf(plik,"%s\n",linia); 5) Zamknięcie pliku. Ważnym elementem w przypadku obsługi plików jest każdorazowe zamknięcie pliku po wykonaniu na nim operacji (zapisu lub odczytu). Do tego celu służy funkcja fclose(). Funkcja ta przyjmuje jeden parametr jest nim wskaźnik na zmienną plikową. fclose(file *strumien); plik = fopen( test.txt, r );