Wykład (9)

Nasza ocena:

3
Pobrań: 7
Wyświetleń: 623
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Wykład (9) - strona 1 Wykład (9) - strona 2 Wykład (9) - strona 3

Fragment notatki:

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 taśmy, drukarki, itp.
Język C/C++ nie ma wbudowanych Ŝadnych instrukcji umoŜliwiających
wykonywanie operacji wejścia-wyjścia ! SłuŜą do tego funkcje biblioteczne.

Operacje na plikach (niskiego poziomu)
int
int
int
int
int
long
long
long
open ( char ∗nazwa_pliku, int tryb_dostepu )
close ( int handle )
write ( int handle, void ∗adres_bufora, unsigned ilosc_bajtow )
read ( int handle, void ∗adres_bufora, unsigned ilosc_bajtow )
eof ( int handle )
tell ( int handle )
filelength ( int handle )
lseek ( int handle, long przesuniecie, int względem_czego )
Proceduralnie za pomocą strumieniu
FILE ∗
int
int
int
int
int
int
int
char∗
int
int
int
int
long
int
int


bin.
bin.

fopen ( char ∗nazwa_pliku, char ∗rodzaj_operacji )
fclose ( FILE ∗strumien )
fcloseall (void )
fputc ( int znak, FILE ∗strumien )
fputs ( char ∗tekst, FILE ∗strumien )
fprintf ( FILE ∗strumien, char ∗format, . . . )
fwrite ( void∗ adres, size_t rozm_bl, size_t il_blokow, FILE∗ strumien )
fgetc ( FILE ∗strumien )
fgets ( char ∗tekst, int dlugosc, FILE ∗strumien )
fscanf ( FILE ∗strumien, char ∗format, . . . )
fread ( void∗ adres, size_t rozm_bl, size_t il_blokow, FILE∗ strumien )
feof ( FILE ∗strumien )
fseek ( FILE ∗strumien, long przesuniecie, int wzgledem)
ftell ( FILE ∗strumien )
fflush ( FILE ∗strumien )
flushall ( void )
M. Piasecki: JĘZYKI PROGRAMOWANIA (1)
−1−
txt
txt
txt
bin
txt
txt
txt
bin
(W10b) Strumienie obiektowe
OBIEKTOWA REALIZACJA OPERACJI WEJŚCIA − WYJŚCIA
W języku C++ moŜliwa jest obiektowa realizacja operacji we/wy.
Podejście obiektowe zakłada, Ŝe róŜne „urządzenia” będą reprezentowane
w programie za pomocą róŜnych obiektów modelujących strumienie danych
wpływające lub wypływające z tych „urządzeń”.
W obiektowych bibliotekach we/wy zdefiniowano róŜne klasy obiektów −
strumieni (w zaleŜności od specyficznych cech danego „urządzenia”). Cechy
strumienia moŜna odczytać z początkowych liter nazw klas:
• i.... − (in) − strumienie wejściowe (np. istream, ifstream, istrstream),
• o.... − (out) − strumienie wyjściowe (np. ostream, ofstream, ostrstream),
• f.... − (file) − strumienie plikowe (np. ifstream, ofstream, fstream),
• str.. − (string) − strumienie pamięciowe (np. istrstream, strstream),
Aby uniknąć wielokrotnego definiowania tych samych operacji
(np. dla kaŜdego strumienia musi być funkcja informująca czy wystąpił błąd)
klasy strumieni tworzą wielopoziomową hierarchię:
PODSTAWOWĄ KLASĄ JEST KLASA
ios
Modeluje ona właściwości (tzn. funkcje, zmienne i stałe) wspólne dla
wszystkich strumieni. Definicja klasy ios jest zawarta w pliku .
NajwaŜniejsze metody tej klasy:
• int ios::bad( )
- zwraca wartość róŜną od zera, jeŜeli wystąpił błąd,
• int ios::good( )
- zwraca wartość róŜną od zera, jeŜeli nie było błędu,

(…)

…; // cin.get(znak);
cin >> x;
cin >> y;
cin >> z;
cin >> tekst; // cin.getline(tekst,20)
printf( ”znak = %c \n” , znak );
printf( ”int
= %d \n” , x );
printf( ”long = %d \n” , y );
printf( ”double = %f \n” , z );
printf( ”tekst = %s \n” , tekst );
cout << ”znak =” << znak << ”\n”;
cout << ”int =” << x << ”\n”;
cout << ”long =” << y << ”\n”;
cout << ”double=” << z << ”\n”;
cout << ”tekst = ” << tekst << ”\n…
... zobacz całą notatkę

Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz