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

Wielkość: px
Rozpocząć pokaz od strony:

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

Transkrypt

1 Podstawy programowania ( język C ) Wskaźniki do funkcji Wykład 11. Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Wskaźniki do funkcji (1) W języku C funkcje nie są zmiennymi, ale moŝna definiować wskaźniki do funkcji. Deklaracja wskaźnika do funkcji ma postać: gdzie RT ( * Name ) ( PSL ); Name nazwa deklarowanego wskaźnika, RT ( return type ) typ zwracanej wartości ( moŝe być void ), PSL ( parameter specifications list ) lista specyfikacji parametrów. N.p. double sin( double x ); double cos( double ); // deklaracja funkcji sin // deklaracja funkcji cos /****/ double (*fptr) ( double ); // deklaracja wskaźnika do funkcji // dokładniej: deklaracja wskaźnika do funkcji przyjmującej jeden argument // typu double i zwracającej wartość typu double. Wskaźniki do funkcji (2) 1. Wskaźnikom do funkcji moŝna nadawać wartości: fptr = sin;... fptr = cos; 2. Wskaźnik do funkcji moŝe być uŝyty do wywołania funkcji, której wskazanie zostało mu przypisane: double x, y, (*fptr) ( double ); fptr = cos; y = cos( x ); // wywołanie funkcji cos (bezpośrednie) y = (*fptr)( x ); // pośrednie wywołanie funkcji cos y = fptr( x ); // pośrednie wywołanie funkcji cos Tomasz Marks - Wydział MiNI PW -3- Tomasz Marks - Wydział MiNI PW -4-

2 Wskaźniki do funkcji (3) 3. Wskaźniki do funkcji mogą być umieszczane w tablicach: double *fptab[ ]( double ) = sin, cos, exp ; 4. Funkcja moŝe przyjmować wskazanie do funkcji jako swój argument ( parametr funkcji moŝe być wyspecyfikowany jako wskaźnik do funkcji ) Wskaźniki do funkcji (4) PowyŜsze deklaracje moŝna zapisać w bardziej czytelnej postaci wykorzystując deklarację typedef : typedef double ( * FUNPTR ) ( double ); wtedy zamiast porzednich deklaracji moŝna będzie napisać: lub double Fun ( int k, double (*fun)( double ) ); double Fun ( int, double (*)( double ) ); /****/ double (*fptr) ( double ); // deklaracja wskaźnika do funkcji FUNPTR fptr; 5. Funkcja moŝe zwracać wskaźnik do funkcji jako swoją wartość: double ( * Fun ( int n, double x) ) ( double z) ; lub double ( * Fun ( int, double) ) ( double ) ; /*3*/ double *fptab[ ]( double ) = sin, cos, exp ; FUNPTR fptab[ ] = sin, cos, exp ; UWAGA: Nawiasy ( ) są niezbędne!!! Tomasz Marks - Wydział MiNI PW -5- Tomasz Marks - Wydział MiNI PW -6- Podobnie: Wskaźniki do funkcji (4a) /*4*/ double Fun ( int k, double (*fun)( double ) ); lub double Fun ( int, double (*)( double ) ); lub double Fun ( int k, FUNPTR fun ); double Fun ( int, FUNPTR ); /*5*/ double ( * Fun ( int n, double x ) ) ( double ) ; FUNPTR Fun ( int n, double x ); Wskaźniki do funkcji (5) UWAGA: Do wskazań (wskaźników) do funkcji nie moŝna stosować operacji arytmetyki wskazań, które są dopuszczalne w przypadku wskazań (wskaźników) do danych. N.p. double *p, *q; double (*pf)( int ), (*pg)( int );... p++; // O.K. pf++; // Błąd! k = p q; // O.K. k = pf pg; // Błąd! p = q + 3; // O.K. pf = pg + 3; // Błąd! Tomasz Marks - Wydział MiNI PW -7- Tomasz Marks - Wydział MiNI PW -8-

3 zadanie Chcemy znaleźć przybliŝone rozwiązanie równania metoda bisekcji f ( x ) = 0 Zakładamy, Ŝe (1) funkcja f(x) jest ciągła; (2) rozwiązanie jest zlokalizowane w znanym przedziale [ a, b ], t.zn. f( a ) * f( b ) < 0 ; (3) wymagana dokładność przybliŝenia wynosi eps. Tomasz Marks - Wydział MiNI PW -9- Tomasz Marks - Wydział MiNI PW -10- metoda bisekcji (1) metoda bisekcji (2) Tomasz Marks - Wydział MiNI PW -11- Tomasz Marks - Wydział MiNI PW -12-

4 metoda bisekcji (3) metoda bisekcji (4) Tomasz Marks - Wydział MiNI PW -13- Tomasz Marks - Wydział MiNI PW -14- metoda bisekcji (5) metoda bisekcji (6) double f ( double ); double a, b, eps; double x; scanf ( "%lf%lf%lf", &a, &b, &eps ); // do x = ( b a ) / 2; if ( f( x ) == 0. ) break; if ( f( x ) * f( a ) > 0 ) a = x; else b = x; while ( b a > eps ); //.. printf ( "\nx = %.5f ", x ); double f ( double ); double a, b, eps; double x, fx, fa; scanf ( "%lf%lf%lf", &a, &b, &eps ); // fa = f( a ); do x = ( b a ) / 2; fx = f( x ); if ( fx == 0. ) break; if ( fx * fa > 0 ) a = x; else b = x; while ( b a > eps ); //.. printf ( "\nx = %.5f ", x ); Tomasz Marks - Wydział MiNI PW -15- Tomasz Marks - Wydział MiNI PW -16-

5 metoda bisekcji (7) double bisekcja ( double (*f) ( double), double a, double b, double eps ) double x, fx, fa = f( a ); do x = ( b a ) / 2; fx = f( x ); if ( fx == 0. ) break; if ( fx * fa > 0 ) a = x; else b = x; while ( b a > eps ); strumienie i pliki return x; Tomasz Marks - Wydział MiNI PW -17- Tomasz Marks - Wydział MiNI PW -18- Strumienie terminologia (1) Strumienie terminologia (2) Strumień (ang. stream) jest pojęciem abstrakcyjnym oznaczającym źródło lub miejsce docelowe przesyłanych danych. Strumień moŝe być skojarzony z plikiem dyskowym, klawiaturą, monitorem, drukarką lub innym urządzeniem zewnętrznym. Na ogół rozróŝniamy dwa rodzaje strumieni: - tekstowe: składające się z ciągów wierszy; kaŝdy wiersz zawiera zero lub więcej znaków i jest zakończony znakiem '\n'; w pewnych środowiskach strumienie tekstowe są przekształcane do jakiejś innej postaci ( najczęściej polega to na zastąpieniu znaku końca wiersza '\n' sekwencją 2 znaków: '\r' i '\n' ); - binarne: składające się z ciągów nie przetworzonych bajtów reprezentujących wewnętrzne dane programu. Strumień kojarzony jest z plikiem lub urządzeniem za pomocą operacji otwarcia. Skojarzenie jest zrywane przez operację zamknięcia. W chwili rozpoczęcia wykonania programu, trzy strumienie są juŝ otwarte: stdin standardowe wejście, stdout standardowe wyjście, stderr standardowe wyjście błędów. Strumieni tych nie trzeba otwierać ani zamykać. Strumień identyfikowany jest w programie przez wskaźnik do obiektu typu FILE. Typ FILE ( struktura zawierająca informacje potrzebne do obsługi strumienia ) jest zdefiniowany <stdio.h>. N.p. FILE *f; f = fopen( "plik.txt", "r" ); // deklaracja wskaźnika do strumienia // otwarcie strumienia identyfikowanego przez // przez f i skojarzenia go z plikiem plik.txt. Tomasz Marks - Wydział MiNI PW -19- Tomasz Marks - Wydział MiNI PW -20-

6 Strumienie - fopen FILE *fopen ( const char *filename, const char *mode ); Otwiera plik. filename wskazuje nazwę pliku, który ma być otwarty jako strumień. mode wskazuje napis określający tryb dostępu do strumienia ( patrz tabelka dalej ). wskazanie strumienia, jeśli operacja się powiodła, NULL, w przypadku niepowodzenia. UWAGA 1. Nazwy plików są ograniczone do FILENAME_MAX znaków. UWAGA 2. Jednocześnie moŝe być otwartych co najwyŝej FOPEN_MAX plików. UWAGA 3. JeŜeli tryb dostępu równocześnie umoŝliwia odczyt i zapis, to pomiędzy odczytem i zapisem naleŝy wywołać funkcję fflush lub jedną z funkcji pozycjonujących plik ( patrz dalej ). Tomasz Marks - Wydział MiNI PW -21- mode "r" "w" "a" "r+" "w+" znaczenie Strumienie - fopen Dopuszczalne napisy określające tryb dostępu do strumienia tekstowego: tylko odczyt (plik musi istnieć) tylko zapis (wyczyść plik, gdy istnieje, w przeciwnym przypadku utwórz) tylko zapis (dopisuj na końcu, gdy istnieje, w przeciwnym przypadku utwórz) zapis i odczyt (plik musi istnieć, po otwarciu ustaw się na początku pliku) zapis i odczyt (wyczyść plik, gdy istnieje, w przeciwnym przypadku utwórz) Dla strumienia binarnego powyŝsze teksty naleŝy uzupełnić literą b. N.p. "rb", "w+b". Tomasz Marks - Wydział MiNI PW -22- int fclose ( FILE *stream ); Strumienie fclose, fflush Zamyka strumień. Wypisuje wszystkie nie wypisane dane związane ze strumieniem, kasuje wszystkie nie przeczytane dane z buforów wejściowych, zwalnia automatycznie przydzielone bufory i na koniec zamyka plik. stream identyfikuje strumień. 0, jeśli operacja się powiodła, EOF, w przypadku jakiegoś błędu. int fflush ( FILE *stream ); Dla strumieni wyjściowych wypisuje wszystkie nie wypisane dane. Dla strumieni wejściowych efekt nie jest zdefiniowany. fflush(null) wypisuje dane ze wszystkich otwartych strumieni wyjściowych. stream identyfikuje strumień. 0, jeśli operacja się powiodła, EOF, w przypadku jakiegoś błędu. Strumienie inne funkcje zarządzające Inne funkcje z tej grupy, które dobrze jest znać: FILE *freopen ( const char *filename, const char *mode, FILE *stream ); int remove ( const char *filename ); int rename ( const char *oldname, const char *newname ); FILE *tmpfile ( void ); char *tmpnam ( char s[ L_tmpnam ] ); int setvbuf ( FILE *stream, char *buf, int mode, size_t size ); int setbuf ( FILE *stream, char *buf ); Tomasz Marks - Wydział MiNI PW -23- Tomasz Marks - Wydział MiNI PW -24-

7 Strumienie formatowane we/wy int fprintf ( FILE *stream, const char *format,... ); int fscanf ( FILE *stream, const char *format,... ); Formatowane we/wy z/do tablicy znakowej Przy okazji zauwaŝmy jeszcze, Ŝe są dostępne równieŝ funkcje int sprintf ( char *buf, const char *format,... ); int sscanf ( const char *buf, const char *format,... ); Funkcje w pełni analogiczne do znanych nam juŝ funkcji printf i scanf. Faktycznie printf ( format,... ) jest równowaŝne fprintf ( stdout, format,... ) i analogicznie scanf ( format,... ) jest równowaŝne fscanf ( stdin, format,... ) One teŝ są analogiczne do znanych nam juŝ funkcji printf i scanf. W wywołaniach: char buffer[128]; sprintf ( buffer, format,... ) sscanf ( buffer, format,... ) rolę wyjścia / wejścia spełnia bufor znakowy buffer. Tomasz Marks - Wydział MiNI PW -25- Tomasz Marks - Wydział MiNI PW -26- Strumienie bezpośrednie we/wy size_t fread ( void *buf, size_t size, size_t nobj, FILE *stream ); Wczytuje ze strumienia stream do tablicy buf co najwyŝej nobj obiektów o rozmiarze size bajtów kaŝdy. liczbę odczytanych obiektów, która moŝe być mniejsza od Ŝądanej. Do zbadania stanu strumienia naleŝy uŝyć funkcji feof i ferror. size_t fwrite ( const void *buf, size_t size, size_t nobj, FILE *stream ); Wypisuje do strumienia stream z tablicy buf co najwyŝej nobj obiektów o rozmiarze size bajtów kaŝdy. liczbę wypisanych obiektów. JeŜeli ta liczba jest mniejsza od Ŝądanej, to znaczy, Ŝe wystąpił błąd. Strumienie funkcje pozycjonujące int fseek ( FILE *stream, long offset, int origin ); Wyznacza pozycję w strumieniu stream. Dla plików binarnych nowa pozycja jest w miejscu oddalonym o offset bajtów od punktu odniesienia określonego przez origin. origin moŝe mieć wartość: SEEK_SET - początek pliku, SEEK_CUR - pozycja bieŝąca, SEEK_END - koniec pliku. Dla plików tekstowych interpretacja jest trudniejsza (patrz K&R Dodatek B1.6 ). Zwraca wartość: 0, jeŝeli operacja się powiodła, wartość róŝna od zera, w przeciwnym przypadku. long ftell ( FILE *stream ); Zwraca wartość: bieŝąca pozycja dla strumienia stream, -1, w przypadku błędu. Tomasz Marks - Wydział MiNI PW -27- Tomasz Marks - Wydział MiNI PW -28-

8 Strumienie - inne funkcje pozycjonujące Inne funkcje z tej grupy, które dobrze jest znać: void rewind ( FILE *stream ); int fgetpos ( FILE *stream, fpos_t *ptr ); int fsetpos ( FILE *stream, const fpos_t *ptr ); Strumienie obsługa błędów void clearerr ( FILE *stream ); int feof ( FILE *stream ); int ferror ( FILE *stream ); void perror ( const char *s ); Tomasz Marks - Wydział MiNI PW -29- // pliki1.c #include <stdlib.h> #include <stdio.h> int main ( void ) FILE *file; Strumienie Dostęp do plików file = fopen( "charset.txt", "w" ); fputs( "Nie mozna otworzyc pliku do zapisu!\n", stdout ); for ( i = 32; i < 256; i++ ) fprintf( file, "kod: %3d znak: %c \n", i, i ); file = fopen( "charset.txt", "r" ); fputs( "Nie mozna otworzyc pliku do odczytu!\n", stdout ); int c; while ( (c = fgetc( file ))!= EOF ) fputc( c, stdout ); Tomasz Marks - Wydział MiNI PW -30- // pliki1.c Strumienie Dostęp do plików (1) #include <stdlib.h> #include <stdio.h> int main ( void ) FILE *file; file = fopen( "charset.txt", "w" ); fputs( "Nie mozna otworzyc pliku do zapisu!\n", stdout ); for ( i = 32; i < 256; i++ ) fprintf( file, "kod: %3d znak: %c \n", i, i ); Tomasz Marks - Wydział MiNI PW -31- Strumienie Dostęp do plików (2) file = fopen( "charset.txt", "r" ); fputs( "Nie mozna otworzyc pliku do odczytu!\n", stdout ); int c; while ( (c = fgetc( file ))!= EOF ) fputc( c, stdout ); Tomasz Marks - Wydział MiNI PW -32-

9 Strumienie Dostęp do plików (3) kod: 32 znak: kod: 33 znak:! kod: 34 znak: " kod: 35 znak: # kod: 36 znak: $ kod: 37 znak: % kod: 38 znak: & kod: 97 znak: a kod: 98 znak: b kod: 99 znak: c kod: 100 znak: d kod: 101 znak: e kod: 102 znak: f kod: 103 znak: g Tomasz Marks - Wydział MiNI PW -33- // pliki2.c Strumienie Dostęp do plików (1a) #include <stdlib.h> #include <stdio.h> int main ( void ) int i; FILE *file; file = fopen( "charset.txt", "w+" ); puts( "Nie mozna otworzyc pliku do zapisu!\n" ); for ( i = 32; i< 256; i++ ) fprintf( file, "kod: %3d znak: %c \n", i, i ); Tomasz Marks - Wydział MiNI PW -34- Strumienie Dostęp do plików (2a) if ( fseek( file, 0, SEEK_SET ) ) puts( "Nie mozna wypozycjonowac pliku do odczytu!\n" ); int c; while ( (c = fgetc( file ))!= EOF ) putchar( c ); Koniec wykładu 11. Tomasz Marks - Wydział MiNI PW -35- Tomasz Marks - Wydział MiNI PW -36-

Biblioteka standardowa - operacje wejścia/wyjścia

Biblioteka standardowa - operacje wejścia/wyjścia 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

Bardziej szczegółowo

Funkcje zawarte w bibliotece < io.h >

Funkcje zawarte w bibliotece < io.h > PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece

Bardziej szczegółowo

Funkcje zawarte w bibliotece < io.h >

Funkcje zawarte w bibliotece < io.h > PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece

Bardziej szczegółowo

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

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 Plik to uporządkowany ciąg danych Dostęp do danych w pliku jest sekwencyjny, tj. istnieje pojęcie elementu aktualnego (tzw. wskaźnika pliku). Możliwy dostęp do danych w pliku jest tylko tam, gdzie wskazuje

Bardziej szczegółowo

Programowanie Proceduralne

Programowanie Proceduralne Programowanie Proceduralne Pliki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Operacje plikowe Plik - dokument lub inny zbiór danych zapisany na dysku, oznaczony unikatowa

Bardziej szczegółowo

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

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 Plik to uporządkowany ciąg danych Dostęp do danych w pliku jest sekwencyjny, tj. istnieje pojęcie elementu aktualnego (tzw. wskaźnika pliku). Możliwy dostęp do danych w pliku jest tylko tam, gdzie wskazuje

Bardziej szczegółowo

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

Operacje na plikach. Informatyka. Standardowe strumienie wejścia i wyjścia Materiały Operacje na plikach Informatyka Operacje wejścia-wyjścia w C/C++: Podejście proceduralne Podejście obiektowe Standardowe strumienie wejścia i wyjścia stdin - strumień wejściowy (klawiatura) cin

Bardziej szczegółowo

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

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013 Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Obsługa plików Kraków 2013 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim będziemy mogli

Bardziej szczegółowo

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

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p. Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,

Bardziej szczegółowo

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

۰ Elementem jednostkowym takiego pliku jest bajt. ۰ Format pliku binarnego: [bajty pliku][eof] 1 Plik jest wydzielonym fragmentem pamięci (najczęściej dyskowej) posiadającym nazwę. Z punktu widzenia C plik jest ciągiem bajtów, z których każdy może zostać oddzielnie odczytany. Zgodnie ze standardem

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()

Bardziej szczegółowo

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

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim

Bardziej szczegółowo

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

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych. Może posiadać określone atrybuty, a odwołanie do niego odbywa się poprzez nazwę. Każdy plik ma skończoną

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część jedenasta Reprezentacja i przetwarzanie plików Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie

Bardziej szczegółowo

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

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego

Bardziej szczegółowo

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

Plik jest reprezentowany przez strumień znaków (bajtów) o zmiennej długości. Koniec strumienia identyfikowany jest znacznikiem końca pliku EOF. Pliki w C++ Plik jest reprezentowany przez strumień znaków (bajtów) o zmiennej długości. Koniec strumienia identyfikowany jest znacznikiem końca pliku EOF. Z każdym strumieniem związany jest wskaźnik bieżącej

Bardziej szczegółowo

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

Formatowane (tekstowe) wejście/wyjście. Binarne wejście/wyjście. Formatowane (tekstowe) wejście/wyjście. Binarne wejście/wyjście. wer. 10 z drobnymi modyfikacjami! Wojciech Myszka 2018-03-27 09:06:38 +0200 Część I Formatowane (tekstowe) wejście/wyjście Otwarcie pliku

Bardziej szczegółowo

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

Program wykonujący operację na plikach powinien zachować schemat działania zapewniający poprawną pracę: Rozdział 1 Obsługa plików W językach C pliki powiązane są ze strumieniami i pracuje się na nich podobnie jak na innych strumieniach. W języku C do operacji na plikach służą funkcje z biblioteki stdio.h,

Bardziej szczegółowo

wer. 7 z drobnymi modyfikacjami Wojciech Myszka :48:

wer. 7 z drobnymi modyfikacjami Wojciech Myszka :48: Wejście/Wyjście wer. 7 z drobnymi modyfikacjami Wojciech Myszka 2014-05-12 16:48:03 +0200 Strumienie 1. W czasach przed-uniksowych program wykonujący operacje wejścia/wyjścia musiał podłączyć wszystkie

Bardziej szczegółowo

Ghost in the machine

Ghost in the machine Operacje na pami eci i odrobina I/O Zak lad Chemii Teoretycznej UJ 8 stycznia 2007 Funkcje operujace Wstep do operacji I/O na plikach 1 Operacje na pami eci 2 Funkcje operujace 3 Wst Funkcje operujace

Bardziej szczegółowo

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

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 ISO/ANSI C Dostęp do plików w trybie tekstowym znak po znaku Czytanie z pliku int fgetc( FILE *stream ); char buffer[81]; int i, ch; if((stream = fopen("test.txt","r")) == NULL ) exit( 0 ); ch

Bardziej szczegółowo

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

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 Dr inż. Robert Wójcik Zakład Podstaw Informatyki i Teleinformatyki Instytut Cybernetyki Technicznej, Politechnika Wrocławska Wykład 15 15. Obsługa plików 15.1. Pliki tekstowe i binarne 15.2. Standardowa

Bardziej szczegółowo

Programowanie Procedurale. Pliki w języku C++

Programowanie Procedurale. Pliki w języku C++ Programowanie Procedurale. Pliki w języku C++ Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 10 Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale. Pliki w języku C++

Bardziej szczegółowo

Programowanie w językach wysokiego poziomu

Programowanie w językach wysokiego poziomu Programowanie w językach wysokiego poziomu zajęcia nr 2 Elektronika i Telekomunikacja, semestr III rok akademicki 2014/2015 Plan dzisiejszych zajęć Pliki tekstowe 1. Operacje na plikach - wprowadzenie

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część jedenasta Przetwarzanie plików amorficznych Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie

Bardziej szczegółowo

INFORMATYKA Studia Niestacjonarne Elektrotechnika

INFORMATYKA Studia Niestacjonarne Elektrotechnika INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl

Bardziej szczegółowo

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

Operacje na plikach (niskiego poziomu) < IO.H > OPERACJE WEJŚCIA WYJŚCIA (część b) Operacje wejścia / wyjścia odczyt i zapis danych do róŝnych zewnętrznych urządzeń lub nośników pamięciowych komputera: np. klawiatury, ekranu monitora, dyskietki, czytnika

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część jedenasta Reprezentacja i przetwarzanie plików Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze

Bardziej szczegółowo

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

MATERIAŁY POMOCNICZE PODSTAWY PROGRAMOWANIA Na podstawie: Programowanie w C - Stworzone na Wikibooks, bibliotece wolny podręczników MATERIAŁY POMOCNICZE PODSTAWY PROGRAMOWANIA Na podstawie: Programowanie w C - Stworzone na Wikibooks, bibliotece wolny podręczników Funkcja getchar() Jest to bardzo prosta funkcja, wczytująca 1 znak z

Bardziej szczegółowo

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

Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński Języki programowania Część siódma Przetwarzanie plików amorficznych Konwencja języka C Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie

Bardziej szczegółowo

Programowanie proceduralne INP001210WL rok akademicki 2015/16 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. Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411b Plan wykładu Operacje wejścia-wyjścia Dostęp do plików Struktury

Bardziej szczegółowo

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

PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki <stdio.h> PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki Pliki TEKSTOWE zawierające ciągi liczb: TXT- 1: Kalkulator sumowanie dwóch liczb zapisanych w pliku tekstowym ( fopen, fscanf, fprintf,

Bardziej szczegółowo

Struktury. Przykład W8_1

Struktury. Przykład W8_1 Struktury Struktury pozwalają na grupowanie zmiennych różnych typów pod wspólną nazwą. To istotnie ułatwia organizacje danych, które okazują się w jednym miejscu kodu programu. To jest bardzo ważne dla

Bardziej szczegółowo

Strumienie i pliki. Programowanie Proceduralne 1

Strumienie i pliki. Programowanie Proceduralne 1 Strumienie i pliki. Programowanie Proceduralne 1 Ogólnie o plikach Plik - ciąg bajtów o skończonej długości Nawa pliku nie stanowi jego części Położenie pliku określone przez ścieżkę dostępu Pliki są opatrzone

Bardziej szczegółowo

funkcje rekurencyjne Wykład 12. Podstawy programowania (język C) Funkcje rekurencyjne (1) Funkcje rekurencyjne (2)

funkcje rekurencyjne Wykład 12. Podstawy programowania (język C) Funkcje rekurencyjne (1) Funkcje rekurencyjne (2) Podstawy programowania (język C) funkcje rekurencyjne Wykład 12. Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Funkcje rekurencyjne (1) W języku C funkcja moŝe wywoływać samą siebie.

Bardziej szczegółowo

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

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym

Bardziej szczegółowo

Tablice, funkcje - wprowadzenie

Tablice, funkcje - wprowadzenie Tablice, funkcje - wprowadzenie Przemysław Gawroński D-10, p. 234 Wykład 5 25 marca 2019 (Wykład 5) Tablice, funkcje - wprowadzenie 25 marca 2019 1 / 12 Outline 1 Tablice jednowymiarowe 2 Funkcje (Wykład

Bardziej szczegółowo

Języki i metody programowania I

Języki i metody programowania I Języki i metody programowania I dr inż. Piotr Szwed Katedra Informatyki Stosowanej C2, pok. 403 e-mail: pszwed@agh.edu.pl http://home.agh.edu.pl/~pszwed/ Aktualizacja: 2013-01-25 11. Biblioteka wejścia

Bardziej szczegółowo

Argumenty wywołania programu, operacje na plikach

Argumenty wywołania programu, operacje na plikach Temat zajęć: Argumenty wywołania programu, operacje na plikach Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (Zmienne statyczne) W języku C można decydować o sposobie przechowywania zmiennych. Decydują

Bardziej szczegółowo

Programowanie w językach

Programowanie w językach 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

Bardziej szczegółowo

7 Przygotował: mgr inż. Maciej Lasota

7 Przygotował: mgr inż. Maciej Lasota 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),

Bardziej szczegółowo

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

Obsługa plików. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 25 września 2011 Obsługa plików Systemy Operacyjne 2 laboratorium Mateusz Hołenko 25 września 2011 Plan zajęć 1 Pliki w systemie Linux i-węzły deskryptory plików 2 Operacje na plikach otwieranie i zamykanie zapis i odczyt

Bardziej szczegółowo

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

Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi. Przykład: $ ls more Łącza nienazwane(potoki) Łącza nienazwane mogą być używane tylko pomiędzy procesami ze sobą powiązanymi. Tworzenie łącza #include int pipe(int filedes[2]); Przykład: int

Bardziej szczegółowo

PODSTAW PROGRAMOWANIA WYKŁAD 7 ŁAŃCUCHY

PODSTAW PROGRAMOWANIA WYKŁAD 7 ŁAŃCUCHY PODSTAW PROGRAMOWANIA WYKŁAD 7 ŁAŃCUCHY Łańcuch tekstowy w języku c jest pamiętany jako jednowymiarowa tablica znaków zakończona bajtem 0. char * tekst = dzień dobry wszystkim ; char tekst[22]= dzień dobry

Bardziej szczegółowo

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

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje Funkcje (podprogramy) Mianem funkcji określa się fragment kodu, który może być wykonywany wielokrotnie z różnych miejsc programu. Ogólny zapis: typ nazwa(argumenty) ciało funkcji typ określa typ danych

Bardziej szczegółowo

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

Stałe i zmienne znakowe. Stała znakowa: znak Stałe i zmienne znakowe. Stała znakowa: znak Na przykład: a, 1, 0 c Każdy znak jest reprezentowany w pamięci przez swój kod. Kody alfanumerycznych znaków ASCII to liczby z przedziału [32, 127]. Liczby

Bardziej szczegółowo

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

Klasa iostream... 1 Klasy ofstream, ifstream Struktura FILE... 8 12.1 12.2 Klasa iostream... 1 Klasy ofstream, ifstream... 3 12.3 Struktura FILE... 8 12.1 Klasa iostream Obiekty klasy stream tworzone automatycznie: istream& cin, standardowe wejście konsoli (klawiatura).

Bardziej szczegółowo

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

Języki programowania. Karolina Mikulska-Rumińska   Pokój 573, tel Konsultacje wtorek 9-10. Języki programowania Karolina Mikulska-Rumińska E-mail: karolamik@fizyka.umk.pl Pokój 573, tel. 3346 Konsultacje wtorek 9-10. Pliki Dwa rodzaje plików: Tekstowe, Binarne Aby otworzyć plik należy najpierw

Bardziej szczegółowo

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

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

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

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury, , Programowanie, uzupełnienie notatek: dr Jerzy Białkowski , 1 2 3 4 , Wczytywanie liczb , Wczytywanie liczb 1 #include 2 #include < s t d l i b. h> 3 4 int main ( ) { 5 int rozmiar, numer

Bardziej szczegółowo

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 Rok akademicki 2015/2016, Wykład nr 1 2/70 Dane podstawowe Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2015/2016

Bardziej szczegółowo

Bardzo szybkie podsumowanie: wykład 4

Bardzo szybkie podsumowanie: wykład 4 Bardzo szybkie podsumowanie: wykład 4 wer. 7 z drobnymi modyfikacjami! Wojciech Myszka 2019-05-14 10:53:50 +0200 Uwagi 1. Obowiązuje cały materiał! 2. Tu tylko podsumowanie. Struktury danych: ułamki wer.

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część trzynasta Tablice struktur, pliki struktur Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści

Bardziej szczegółowo

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

Podstawy Programowania. Specyfikacja funkcji, operacje wejścia i wyjścia na plikach, rekurencja, tablice i wskaźniki Podstawy Programowania Wykład IV Specyfikacja funkcji, operacje wejścia i wyjścia na plikach, rekurencja, tablice i wskaźniki Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: specyfikacja

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2014/2015 Wykład nr 1 (09.10.2014) Rok akademicki 2014/2015, Wykład

Bardziej szczegółowo

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

Operacje wejścia/wyjścia (odsłona druga) - pliki Operacje wejścia/wyjścia (odsłona druga) - pliki Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały

Bardziej szczegółowo

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

4. Pliki Informacje ogólne o dostępie do plików w PHP Sprawdzanie istnienia pliku file_exists() 4. Pliki 4.1. Informacje ogólne o dostępie do plików w PHP Jak praktycznie każdy język programowania, PHP zapewnia dostęp do systemu plików znajdujących się na komputerze, na którym uruchamiany jest skrypt,

Bardziej szczegółowo

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 Rok akademicki 2014/2015, Wykład nr 1 2/66 Dane podstawowe Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2014/2015

Bardziej szczegółowo

1. Wprowadzanie danych z klawiatury funkcja scanf

1. Wprowadzanie danych z klawiatury funkcja scanf 1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),

Bardziej szczegółowo

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

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA Metodyki i Techniki Programowania 1 1 ZAJ CIA 3. 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA IDE zintegrowane środowisko programistyczne, zawierające kompilator, edytor tekstu i linker,

Bardziej szczegółowo

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

Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych Przykłady wykorzystanie funkcji printf i scanf do wyświetlania danych na wyświetlaczu LCD oraz komunikacji sterownika mikroprocesorowego

Bardziej szczegółowo

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje

Bardziej szczegółowo

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

Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku. Program 7 Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku. #include #include using namespace std; int main()

Bardziej szczegółowo

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

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

C Operacje na plikach

C Operacje na plikach C - 7 - Operacje na plikach 7.1 Odczyt z pliku ŚcieŜkę do pliku normalnie zapisalibyśmy jako c:\mojepliki\dane\pliczek.txt. Ale znak \ ma specjalne znaczenie w języku C, naleŝy więc zapisać: char *nazwapliku

Bardziej szczegółowo

Operacje powiązane z systemem:

Operacje powiązane z systemem: PLIKI Operacje powiązane z systemem: funkcje biblioteczne stand. biblioteki C, libc; wykonywane jak wywołania innych funkcji; mogą wywoływać inne funkcje lub wywołania systemowe) wywołania systemowe zaimplementowane

Bardziej szczegółowo

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

Laboratorium Systemów Operacyjnych. Ćwiczenie 4. Operacje na plikach Laboratorium Systemów Operacyjnych Ćwiczenie 4. Operacje na plikach Wykonanie operacji wymaga wskazania pliku, na którym operacja ma zostać wykonana. Plik w systemie LINUX identyfikowany jest przez nazwę,

Bardziej szczegółowo

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

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec PROE wykład 3 klasa string, przeciążanie funkcji, operatory dr inż. Jacek Naruniec Przypomnienie z ostatnich wykładów Konstruktory/destruktory i kolejność ich wywołania w złożonej klasie. Referencja Obiekty

Bardziej szczegółowo

część 4 biblioteka standardowa wejścia - wyjścia znakowe wejście - wyjście Jarosław Gramacki Instytut Informatyki i Elektroniki

część 4 biblioteka standardowa wejścia - wyjścia znakowe wejście - wyjście Jarosław Gramacki Instytut Informatyki i Elektroniki Język ANSI C część 4 biblioteka standardowa wejścia - wyjścia znakowe wejście - wyjście Jarosław Gramacki Instytut Informatyki i Elektroniki pierwszy podział: Typy dyskowego wejścia - wyjścia standardowe

Bardziej szczegółowo

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

Temat: Operacje na plikach. Pliki tekstowe i binarne. Faza otwarcia, zapisu/odczytu i zamknicia pliku. Temat: Operacje na plikach. Pliki tekstowe i binarne. Faza otwarcia, zapisu/odczytu i zamknicia pliku. 1. Rodzaje plików W jzyku C/C++ wyróniamy dwa rodzaje plików: pliki binarne pliki tekstowe Plik binarny

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

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

część 6 biblioteka standardowa wejścia - wyjścia 1. sformatowane wejście - wyjście 2. rekordowe (binarne) wejście - wyjście Język ANSI C część 6 biblioteka standardowa wejścia - wyjścia 1. sformatowane wejście - wyjście 2. rekordowe (binarne) wejście - wyjście Jarosław Gramacki Instytut Informatyki i Elektroniki z grupy funkcji

Bardziej szczegółowo

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

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego 1 /24 Pisanie pojedynczych znaków z klawiatury do pliku #include void main(void) { FILE *fptr; // wkaznik do pliku, tzw. uchwyt

Bardziej szczegółowo

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

#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 ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Bardzo szybkie podsumowanie: wykład 5

Bardzo szybkie podsumowanie: wykład 5 Bardzo szybkie podsumowanie: wykład 5 wer. 7 z drobnymi modyfikacjami! Wojciech Myszka 2016-05-25 11:55:55 +0200 Uwagi 1. Obowiązuje cały materiał! 2. Tu tylko podsumowanie. Formatowane (tekstowe) wejście/wyjście.

Bardziej szczegółowo

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

Spis treści JĘZYK C - PLIKI BINARNE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF30 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1D300 017 (studia stacjonarne)

Bardziej szczegółowo

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

Języki programowania. Tablice struktur, pliki struktur. Część ósma. Autorzy Tomasz Xięski Roman Simiński Języki programowania Część ósma Tablice struktur, pliki struktur Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego w

Bardziej szczegółowo

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

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Inne darmowe! kompilatory języka C działające m.in. po systemem WINDOWS:

Inne darmowe! kompilatory języka C działające m.in. po systemem WINDOWS: Inne darmowe! kompilatory języka C działające m.in. po systemem WINDOWS: IDE (ang. integrated development environment) działające online [ nie trzeba niczego instalować! ]: https://www.onlinegdb.com Wielosystemowe

Bardziej szczegółowo

Struktura programu. Słowa kluczowe. Komentarze. Zmienne

Struktura programu. Słowa kluczowe. Komentarze. Zmienne Struktura programu #include int main (int argc, char **argv) // instrukcje Słowa kluczowe Słowa o predefiniowanym znaczeniu. Nie mogą być użyte jako identyfikatory (np. nazwy zmiennych). Do słów

Bardziej szczegółowo

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura

Bardziej szczegółowo

Ć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.

Ć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. Ćwiczenie 7 Przetwarzanie plików Ćwiczenie to poświęcone jest poznaniu metod przetwarzania plików. W ramach tego ćwiczenia przewidziane jest wykonanie programów realizujących różne operacje na plikach.

Bardziej szczegółowo

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

4. Wyrzuć wyjątek jeśli zmienna ist nie istnieje bloki: try, catch i wyrzucanie wyjątku Lista 7 Zad. 1 Pierwsza wersja programu 1. Przygotuj plik do w: plik tekstowy z pojedynczą liczbą. Umieść go w tym samym folderze, co projekt (*.cpp). 2. Nazwa pliku name nazwa zmiennej może być dowolna

Bardziej szczegółowo

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

Ćwiczenie nr 8. Temat: Operacje na plikach - zapis i odczyt danych. Ćwiczenie nr 8 Temat: Operacje na plikach - zapis i odczyt danych. Zagadnienia: Zasady pracy na plikach dyskowych. otwarcie pliku do odczytu i zapisu (tryb otwarcia), wykonanie operacji odczytu i zapisu,

Bardziej szczegółowo

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

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include

Bardziej szczegółowo

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

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo

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

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu Informatyka, Ćwiczenie 1 1. Uruchomienie Microsoft Visual C++ I. ZałoŜenie nowego projektu Wybieramy menu: File>New>Files jak na rys. poniŝej Zapisujemy projekt pod nazwą LAN, w katalogu d:\temp\lab typu

Bardziej szczegółowo

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

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

1 Przetwarzanie plików

1 Przetwarzanie plików Ćwiczenie 5 1 Przetwarzanie plików Ćwiczenie to poświęcone jest poznaniu metod przetwarzania plików. W ramach tego ćwiczenia przewidziane jest wykonanie programów realizujących różne operacje na plikach.

Bardziej szczegółowo

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

Tablice w argumentach funkcji. Tablicy nie są przekazywane po wartości Tablicy są przekazywane przez referencje lub po wskaźniku Tablice w argumentach funkcji Tablicy nie są przekazywane po wartości Tablicy są przekazywane przez referencje lub po wskaźniku Przykład: char str[] = abcdef ;... fun(str); // argument faktyczny to id

Bardziej szczegółowo

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

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists() Paweł Gmys PHP strona 1 Lekcja 10 Uprawnienia Aby skrypt PHP mógł odwołać się do pliku, musi mieć odpowiednie uprawnienia. Szczegóły są zależne od serwera. Najczęściej chyba skrypt ma uprawnienia takie,

Bardziej szczegółowo

Wstęp do Programowania, laboratorium 02

Wstęp do Programowania, laboratorium 02 Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite

Bardziej szczegółowo

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

Pliki. Funkcje tworzące pliki i operujące na nich opisane są w części 2 pomocy systemowej. Tworzenie i otwieranie plików: Pliki W celu wykonania jakiejkolwiek operacji na istniejącym pliku, plik ten musi zostać otwarty, natomiast jeśli plik jeszcze nie istnieje, to musi zostać utworzony. Plik może zostać otwarty w trybie:

Bardziej szczegółowo

Globalne / Lokalne. Wykład 15. Podstawy programowania (język C) Zmienne globalne / lokalne (1) Zmienne globalne / lokalne (2)

Globalne / Lokalne. Wykład 15. Podstawy programowania (język C) Zmienne globalne / lokalne (1) Zmienne globalne / lokalne (2) Podstawy programowania (język C) Globalne / Lokalne Wykład 15. Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Zmienne globalne / lokalne (1) int A, *Q; // definicja zmiennych globalnych

Bardziej szczegółowo

Wykład PASCAL - Pliki tekstowe

Wykład PASCAL - Pliki tekstowe Podstawy programowania Wykład PASCAL - Pliki tekstowe 1 dr Artur Bartoszewski - Podstawy prograowania, sem. 1- WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą,

Bardziej szczegółowo

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

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17 Wskaźniki Przemysław Gawroński D-10, p. 234 Wykład 2 8 marca 2019 (Wykład 2) Wskaźniki 8 marca 2019 1 / 17 Outline 1 Wskaźniki 2 Tablice a wskaźniki 3 Dynamiczna alokacja pamięci (Wykład 2) Wskaźniki 8

Bardziej szczegółowo

Program 14. #include <iostream> #include <ctime> using namespace std;

Program 14. #include <iostream> #include <ctime> using namespace std; Program 14 Napisać: * funkcję słuŝącą do losowego wypełniania tablicy liczbami całkowitymi z podanego zakresu (*). Parametrami funkcji mają być tablica, jej długość oraz dwie liczby stanowiące krańce przedziału

Bardziej szczegółowo