background image

11 

Metodyka i techniki programowania 
Operacje na plikach 
Mgr inż. Jacek Wszołek

 

 
 

Ćwiczenie 1. Odczyt z pliku 

1.  Zaimplementuj poniższy kod, pozwalający odczytać zawartość pliku r.txt: 

 
int main() 

FILE *stream; 
char list[128]; 
int numread; 
 
if( (stream = fopen( "r.txt", "r" )) != NULL ) 

 

numread = fread( list, sizeof(char), 128, stream );  

printf( "Number of cir elements read = %d\n", numread ); 
printf("%s ",list);  
fclose( stream ); 

} else 
printf( "File r.txt could not be opened\n" ); 
 
return 0;

 

}

 

 

2.  Co się stanie jak ilość znaków w pliku r.txt będzie większa niż rozmiar tablicy list, a 

co się stanie jak będzie mniejsza? Przerób powyższy program tak, aby zawsze wypisywał 
całą zawartość pliku. 

3.  Zapoznaj się z działaniem funkcji fseek i wypisz ostatnie 10 znaków z pliku r.txt. 
4.  Zapoznaj się z działaniem funkcji fgetc i wypisz pierwsze i ostatnie trzy znaki pliku 

r.txt

5.  Zapoznaj się z działaniem funkcji fgets i z jej pomocą wykonaj te same operacje co w 

punkcie 4. 

6.  Czym różnią się funkcje fgetc(), fgets() oraz fread()? 

 

Ćwiczenie 2. Zapis do pliku 

1.  Zaimplementuj poniższy kod, pozwalający zapisać dane do pliku: 

 
int main() 

FILE *stream; 
char list [6]="proba"; 
int numwritten; 
 
if( (stream = fopen( "myfile.txt", "w+t" )) != NULL ) 

numwritten = fwrite(list, sizeof(char), 5, stream ); 
printf( "Wrote %i items\n", numwritten );  
fclose( stream ); 

 }else 

printf( "Problem opening the file\n" ); 
 

return  0; 

2.  Napisz program, który zapisuje odczytany plik do innego pliku. 

background image

3.  Zapoznaj się z działaniem funkcji fputc. Na początek i na koniec pliku wpisz 

odpowiednio --! , !—-. 

4.  Zapoznaj się z działaniem funkcji fputs i z ich pomocą wykonaj te same operacje co w 

punkcie 3.  

5.  Czym różnią się funkcje fputc(), fputs() oraz fwrite()? 

 

Zadania. 

1.  Napisz program, który przerabia pliki „*.html” na pliki „*.txt” usuwając z nich 

tagi html. 

2.  Stwórz plik „dane_we.txt”, w którym w dwóch kolumnach oddzielonych 

tabulatorem znajdują się dowolne liczby rzeczywiste. Napisz program, który będzie 
pobierał dane wejściowe z pliku „dane_we.txt”, a w pliku „dane_wy.txt” zapisywał 
w pojedynczej kolumnie ich sumę . 

3.  Napisz program, który tworzy nowy plik o nazwie imie.txt i zapisuje do 

niego imię i nazwisko pobrane z klawiatury. Następnie program zmienia 
nazwę pliku na imie_nazwisko.txt. Po zmianie nazwy pliku program 
pyta użytkownika czy usunąć stworzony plik. Jeżeli odpowiedź jest 
twierdząca program usuwa plik i kończy działanie.