Metodyka i techniki programowania 11 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.
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.