background image

11 

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

 

 
 

Ćwiczenie 1. Odczyt pliku 

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

 
int main() 

FILE *stream; 
char list[128]; 
int numread; 
 
//proba otwarcia pliku 
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 pliku „r.txt”. 
4.  Zapoznaj się z działaniem funkcji „fgetc” i wypisz pierwsze trzy i ostatnie trzy znaki pliku 

r.txt”. 

 
 

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

/* Open file in text mode: */ 

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

 

Zadanie. 
1. Napisz program, który przerabia pliki „*.html” na pliki „*.txt”