Programowanie w językach



Podobne dokumenty
1 Pierwsze kroki w C++ cz.3 2 Obsługa plików

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

C++ - [3-5] Pliki i strumienie w C++

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

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

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

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

Programowanie i struktury danych

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

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

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania. Programowanie systemów informatycznych laboratorium. Ćw. 3: Akwizycja danych. RS 232 cd.

Spis treści OBSŁUGA PLIKÓW W JĘZYKU C++ Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF32

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

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Pliki wykład 2. Dorota Pylak

Wprowadzenie do programowania i programowanie obiektowe

Wejście wyjście strumieniowe

Programowanie w językach wysokiego poziomu

1 Strumienie. 2 Pliki. 2.1 Zapis do pliku tekstowego. Programowanie w j zyku C - Adam Krechowicz, Daniel Kaczmarski

Programowanie Procedurale. Pliki w języku C++

Pliki wykład 2. Dorota Pylak

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

Funkcje zawarte w bibliotece < io.h >

Pliki wykład. Dorota Pylak

Funkcje zawarte w bibliotece < io.h >

Język C++ wykład VIII

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

Pliki wykład 2 -przekazywanie strumieni do funkcji -funkcje get(char &) i getline(string)

Pliki wykład. Dorota Pylak

Wykład 2 Operacje wejściawyjścia. Ewa Gajda

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

Biblioteka standardowa - operacje wejścia/wyjścia

fstream C/C++ #include <fstream> Stream strumień plików std::ifstream C/C++ uchwytem do pliku uchwyt do pliku plik std::ifstream

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

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

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

Wykład :37 PP2_W9

Wstęp do programowania obiektowego. Przekazywanie parametrów do funkcji w C++ Metody i funkcje operatorowe Strumienie: standardowe, plikowe, napisowe

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

Wykład 9 Pliki cz.3 (getline(string)) Typ wyliczeniowy enum

Podstawy programowania w języku C++

Język C++ Różnice między C a C++

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

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

4. Wyrzuć wyjątek jeśli zmienna ist nie istnieje bloki: try, catch i wyrzucanie wyjątku

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

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

Programowanie Obiektowe i C++

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

jest mocny, skoro da się w nim wyrazić nowe pojęcia; łatwiej przenieść go na nową platformę jest mniejszy.

OPERACJE NA PLIKACH. Podstawowe pojęcia:

Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30

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

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

Pytania sprawdzające wiedzę z programowania C++

Programowanie Proceduralne

Wstęp do programowania. Dariusz Wardecki, wyk. X

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

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

Operatory na rzecz typu TString

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33

Podstawy Programowania

Język C++ wykład VI. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VI. dr Jarosław Mederski.

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

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

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

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

dr inż. Jarosław Forenc

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

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Wykład PASCAL - Pliki tekstowe

Podstawy programowania w języku C++

Wstęp do programowania. Wykład 1

Obsługa plików. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 25 września 2011

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

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Programowanie komputerowe. Zajęcia 1

Pliki. Funkcje tworzące pliki i operujące na nich opisane są w części 2 pomocy systemowej. Tworzenie i otwieranie plików:

Podstawy programowania w języku C++

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków

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

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Zajęcia nr 5 Algorytmy i wskaźniki. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

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

C++ wprowadzanie zmiennych

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

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

Aby uzyskać zaliczenie w pierwszym terminie (do 30 stycznia 2018) rozliczyć trzeba co najmniej 8 projektów, po 4 z każdej z części: C++ oraz Python.

Programowanie Obiektowew języku C++ Zadania L4

Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel danuta.makowiec at gmail.com

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

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

Wstęp do Programowania 2

Wstęp do programowania obiektowego

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

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

Pliki. Operacje na plikach w Pascalu

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

DYNAMICZNE PRZYDZIELANIE PAMIECI

Transkrypt:

Programowanie w językach wysokiego poziomu Obsługa plików za pomocą strumieni Elektronika i Telekomunikacja, semestr III rok akademicki 2013/2014 dr inż. Paweł Myszkowski Plan zajęć a) otwieranie i zamykanie pliku b) odczyt i zapis za pomocą strumienia c) odczyt poszczególnych wierszy d) odczyt i zapis bloków danych e) poruszanie się wewnątrz pliku 2. Zadanie do wykonania 1

Oprócz standardowych funkcji fopen, fclose, fwrite, fread dostęp do plików możliwy jest także przy użyciu strumieni. Wykorzystujemy w tym celu bibliotekę fstream: #include <fstream> w której zdefiniowana jest klasa fstream, umieszczona w przestrzeni nazw std:: ::. Zmienna odwołująca się do pliku jest obiektem tej klasy. std::fstream plik; Otwieranie pliku Wykorzystujemy tu metodę open() klasy fstream: void open (const char* nazwa, ios_base::openmode tryb); (pierwszy parametr to nazwa i ścieżka do pliku, drugi tryb otwarcia) Tryb ios::app ios::ate Opis (append dopisywanie) Plik otwarty w trybie tylko do zapisu. Wskaźnik ustawiany jest na końcu pliku. (at end na końcu) Wskaźnik pliku ustawiony na końcu w chwili otwarcia pliku. ios::binary (binary binarne) Informacja dla kompilatora, aby dane były traktowane jak strumień danych binarnych ios::in ios::out ios::trunc (input wejście) Zezwolenie na odczytywanie danych z pliku (output wyjście) Zezwolenie na zapisywanie danych do pliku (truncate obcięcie) Zawartość pliku jest kasowana w chwili otwarcia 2

Tryby można ze sobą łączyć, stosując operator ' ': plik.open(" ("dane.txt",std::ios::in std::ios::out); Czy udało się otworzyć plik? Stan możemy zbadać za pomocą funkcji good() oraz is_open() bool good(); //true jeśli plik udało się otworzyć bool is_open(); //false jeśli nie Zamykanie pliku void close(); Schemat przetwarzania pliku: #include <fstream> int main() plik.open(" ("dane.txt",std::ios::in std::ios::out); if (plik.good() == true) //przetwarzanie zawartości pliku (zapis/odczyt) plik.close(); 3

Odczyt i zapis za pomocą strumienia: a) odczyt (zmienna_plikowa >> zmienna_do_której_trafią_dane) int x; plik >> x; //tak jak cin b) zapis (zmienna_plikowa << zmienna_którą_zapisujemy) int x = 5; plik << "Oto wynik: " << x << endl; //tak jak cout uwagi: - dane traktowane zawsze tekstowo, niezależnie od trybu otwarcia, - odczyt do pierwszego "białego" znaku (enter, spacja, tabulator). Odczyt poszczególnych wierszy (linii): Funkcja getline() z klasy fstream: istream & getline(char * dane, streamsize długość) plik.open(" ("dane.txt",std::ios::in std::ios::out); char dane[255]; plik.getline(dane,255); uwagi: - dane traktowane zawsze tekstowo, niezależnie od trybu otwarcia. 4

Odczyt i zapis bloku danych (dane binarne): a) odczyt istream & read (char * bufor, streamsize rozmiar); int gcount() //określa liczbę przetworzonych bajtów b) zapis ostream & write (const char * bufor, streamsize rozmiar); Przykład: plik.open(" ("dane.txt",std::ios::in std::ios::out); char bufor[255]; plik.read(bufor,1024); std::cout << "wczytano " << plik.gcount() << " bajtów"; Poruszanie się po pliku z danymi seekg() ustawienie wskaźnika dla odczytu: istream & seekg (streamoff offset, ios::base::seekdir kierunek); seekp() ustawienie wskaźnika dla zapisu: ostream & seekg (streamoff offset, ios::base::seekdir kierunek); ios_base::beg przesunięcie wzg. początku pliku ios_base:cur przesunięcie wzg. aktualnej pozycji ios_base::end przesunięcie wzg. końca pliku tellg() - odczytanie bieżącej pozycji (odczyt z pliku): streampos tellg(); tellp() - odczytanie bieżącej pozycji (zapis do pliku): streampos tellp(); 5

fail() kontrola błędu przy przesunięciu bool fail(); //zwraca true,, jeśli wystąpił błąd Przykład plik.open(" ("dane.txt",std::ios::in); plik.seekg(+2,std::ios_base::end); //do przodu o 2 wzg. końca if (plik.fail()) cout << "Błąd przesunięcia wskaźnika" << endl; eof() bada, czy osiągnięto koniec pliku bool eof(); #include<iostream> #include <fstream> #include <conio.h> using namespace std; int main() fstream plik; plik.open(" ("dane.txt", ios::in); if (plik.good()) char napis[255]; cout << "Zawartość pliku:" << endl; 6

while (!plik.eof()) plik.getline(napis,255); couit << napis << endl; plik.close(); else cout << "Błąd otwarcia pliku!" << endl; getch(); return 0; 2. Zadanie do wykonania Wykorzystaj obsługę plików za pomocą strumieni w aplikacji "okienkowej". Przetestuj dostęp do plików tekstowych i binarnych. Wykorzystaj okna dialogowe. 7

Dziękuję za uwagę 8