Podstawy programowania komputer Nieznany

background image

PP

200

5

©

Walery

Sus

łow

swalover@ie.tu.koszalin.pl

1 /24

Podstawy programowania komputerów

Podstawy programowania komputerów

Wykład 9: „Operacje na plikach w ANSI C”

background image

PP

200

5

©

Walery

Sus

łow

swalover@ie.tu.koszalin.pl

2 /24

O

O

peracje

peracje

plikowe

plikowe

(nie obiektowo)

(nie obiektowo)

Plik - dokument lub inny zbiór danych zapisany na dysku,
oznaczony unikatową nazwą. Plik jest ciągiem bajtów
Plik w C:

ƒ

plik dyskowy (

disk file

disk file

)

ƒ

urządzenie peryferyjne typu

terminal

terminal

ƒ

drukarka

ƒ

plik na taśmie magnetycznej (

tape drive file

tape drive file

)

background image

PP

200

5

©

Walery

Sus

łow

swalover@ie.tu.koszalin.pl

3 /24

Strumień

Strumień

ƒ

Strumień (

stream

stream

) w C: przepływ danych z

programu do pliku lub odwrotnie

ƒ

Strumień nie jest związany z konkretnym

urządzeniem (

device

device

-

-

independend

independend

)

ƒ

Aby przeprowadzić operację Wejścia/Wyjścia,

należy skojarzyć plik ze strumieniem

ƒ

Dwa formaty strumieni:

text or binary stream

text or binary stream

background image

PP

200

5

©

Walery

Sus

łow

swalover@ie.tu.koszalin.pl

4 /24

Buforowanie Wejścia/Wyjścia

Buforowanie Wejścia/Wyjścia

ƒ

Bufor (

buffer

buffer

) - obszar pamięci służący do tymczasowego

przechowywania danych przed przesłaniem ich do miejsca
przeznaczenia

ƒ

Posługując się buforami system operacyjny zmniejsza

ilość odwołań do fizycznych urządzeń Wejścia/Wyjścia

ƒ

Strumienie We/Wy są buforowane w sposób domyślny

ƒ

Fizyczny zapis do pliku -

buffer flush

buffer flush

background image

PP

200

5

©

Walery

Sus

łow

swalover@ie.tu.koszalin.pl

5 /24

Wskaźniki typu FILE

Wskaźniki typu FILE

ƒ

Struktura FILE służy do zarządzania plikami i jest

zdefiniowana w pliku

stdio.h

stdio.h

ƒ

Wskaźnik typu FILE -

file pointer

file pointer

, służy do

odwoływania się do konkretnego pliku dyskowego.

ƒ

W obrębie struktury FILE można znaleźć: rozmiar pliku,

znacznik pozycji w pliku , adres bufora danych itp.

background image

PP

200

5

©

Walery

Sus

łow

swalover@ie.tu.koszalin.pl

6 /24

Otwieranie pliku

Otwieranie pliku

ƒ

# include <stdio.h>

FILE *fopen(const char *filename, const

char *mode);

ƒ

Jeśli operacja otwarcia pliku nie powiedzie się, funkcja zwraca

wskaźnik pusty (

null pointer

null pointer

).

ƒ

Tryby otwarcia pliku:

tryb

w

w

tworzy plik

a+b

ab+

ab

a+

a (append)

w+b

wb+

wb

w+

w (write)

r+b

rb+

rb

r+

r (read)

background image

PP

200

5

©

Walery

Sus

łow

swalover@ie.tu.koszalin.pl

7 /24

Otwieranie/zamykanie pliku

Otwieranie/zamykanie pliku

FILE *fptr;

if ((fptr = fopen(„TEST.TXT”, „r”))

== NULL)

{

printf(„Nie moge otworzyc pliku

TEST.TXT.\n);

exit(1)

}

ƒ

Po wykonaniu operacji plik należy odłączyć od strumienia

danych:

int fclose(FILE *ptr);

ƒ

Funkcja

fclose( )

fclose( )

wykonuje czyszczenie bufora.

background image

PP

200

5

©

Walery

Sus

łow

swalover@ie.tu.koszalin.pl

8 /24

Odczyt i zapis plików

Odczyt i zapis plików

fgetc( )

fgetc( )

i

fputc( )

fputc( )

znak-po-znaku

int fgetc(FILE *stream);
int fputc(int c, FILE *stream);

fgets( )

fgets( )

i

fputs( )

fputs( )

wiersz-po-wierszu

char *fgets(char *s, int n, FILE *stream);
int fputs(const char *s, FILE *stream);

fread( )

fread( )

i

fwrite( )

fwrite( )

blok-po-bloku

size_t fread(void *ptr, size_t size,

size_t n, FILE *str);

size_t fwrite(const void *ptr, size_t

size, size_t n, FILE *str);

background image

PP

200

5

©

Walery

Sus

łow

swalover@ie.tu.koszalin.pl

9 /24

Funkcje do obsługi plików (

Funkcje do obsługi plików (

stdio.h

stdio.h

)

)

rewind( )

rewind( )

– przewija plik do początku

ferror( )

ferror( )

– sprawdza sukces operacji na pliku

remove( )

remove( )

– usuwa plik

rename( )

rename( )

– zmienia nazwę pliku

tmpfile( )

tmpfile( )

– otwiera plik tymczasowy

tmpname( )

tmpname( )

– generuje niepowtarzalną nazwę pliku

access( )

access( )

– sprawdza istnienie pliku w systemie

fseek( )

fseek( )

– wyszukiwanie danych w pliku

feof( )

feof( )

– wykrywa koniec pliku

background image

PP

200

5

©

Walery

Sus

łow

swalover@ie.tu.koszalin.pl

10 /24

Inne funkcje do obsługi plików

Inne funkcje do obsługi plików

ƒ

Podobne i rozszerzone funkcje obsługi pliku dostępne są

też poprzez pliki nagłówkowe

io.h

io.h

,

dos.h

dos.h

, lecz nie są one

zdefiniowane w standardzie ANSI C.

ƒ

Użyteczne funkcje działające na katalogach z

dir.h

dir.h

:

chdir

chdir

( )

( )

– zmienia nazwę katalogu

mkdir

mkdir

( )

( )

– tworzy katalog

opendir

opendir

( ), closedir( )

( ), closedir( )

– otwiera i zamyka strumień

związany z katalogiem


Document Outline


Wyszukiwarka

Podobne podstrony:
FANUC podstawy programowania id Nieznany
Podstawa programowa ksztalcenia Nieznany
11 Zastosowanie programu komput Nieznany (2)
Podstawy programowania w C palu Nieznany
FANUC podstawy programowania id Nieznany
Zmiany w podstawie programowej Nieznany
Podstawy programowania 1 W2 id Nieznany
Kurs komputerowy podstawowy program300408
MwN GIM nowa podstawa programow Nieznany
podstawy programowania id 36797 Nieznany
Podstawy Programowania 03 Zlozo Nieznany
Programowanie Od podstaw id 39 Nieznany
Podstawy programu FDS id 368033 Nieznany
podstawy programowania java id Nieznany
Programowanie podstawy id 39630 Nieznany
podstawa programowa Wf id 36613 Nieznany

więcej podobnych podstron