142 Programowanie w MATi
» tOZO6_20
Podaj nazwę pliku maj.txt
Podaj tekst do zapisania Chwalcie 1 ak1 umajone
fprint zapisuje sformatowane dane do pliku. Jeżeli zostanie ono użyte ze skład-nią:
ilość = fpńnt(fid, format, A,...)
dokonuje formatowania danych rzeczywistych zawartych w macierzy A zgodnie z wyj specyfikowanym format-em oraz zapisuje te dane do pliku, posiadającego identyfil kator fid (fid zwracane jest przez fopen) i przyjmuje wartość 1 dla standardowego^ wyjścia (ekran) lub wartość 2 w przypadku wystąpienia typowego błędu.
Parametr format jest łańcuchem zgodnym ze specyfikacją języka C (szersza omówienie elementów składowych tego łańcucha znajduje się w ćwiczeniu 4). fprintf zwraca liczbę bajtów poprawnie zapisanych na dysku.
Ćwiczenie 3
Napisać m-plik umożliwiający dopisywanie danych tekstowych do już istniejącym w pliku o nazwie podanej z klawiatury.
Zadanie to rozwiązuje następujący m-plik:
% t0206_21 Dopisanie tekstu do pliku tekstowego X Na dysku jest pl1k tekstowy, który nazywa s1e X maj.txt; należy dolaczyc 3 nowe Unie tekstu
X (c) jb cl c f1d-0; whlle fld<l
X NPdO-Nazwa_pl 1 ku__do_otwa rc1 a NPdO-1nput('Podaj nazwę pliku * ,'s'):
X Otwarcie pliku w trybie dołączani a Ca*) Cf1d.komun1kat]-fopen(NPdO.'a'):
1f f 1 d—1
d1sp(komunikat) end end
X \r powrot karetki X \n zmiana 11 ni 1
fprintf(f1d.'Xs\r\n'); for 1-1:3
tekst-1nput(*Podaj tekst do zapisania fprintf(f1d.r%s\r\nł.tekst): end
fclose(fld);
Zakładając, że na dysku istnieje plik maj.txt, dokonuje się otwarcia tego pliku (fopen) w trybie dołączania (V). Następnie poprzez wykorzystanie pętli for wprowadza i dopisuje się trzy linie tekstu. Do wprowadzania tekstu wykorzystano polecenie input, a do zapisu na dysk polecenie fprintf, w którym zastosowano następujący format zapisu tekstu: %s\t\n, co oznacza powrót karetki (\r) i zmianę linii (Vi) przy zapisie łańcucha s.
Ćwiczenie 4
Napisać m-plik, który zapisuje na dysk do pliku dane.txt następującą macierz wyników pomiaru temperatury:
36.5 |
37.1 |
38.0 |
36.6 |
36.9 |
37.8 |
36.8 |
37.2 |
37.5 |
Rozwiązanie
Zadanie to można rozwiązać za pomocą następującego m-pliku:
X t0206_22 zapis danych liczbowych do X pliku tekstowego. Na dysku tworzony X jest pl 1 k tekstowy, który nazywa s 1 e X dane.txt
X (c) H dc dear f1d-0;
X Zapisywana macierz danych A-C36.5 36.6 36.8:37.1 36.9 37.2:38.0 37.8 37.53: wtille f1d<l
d1 sp('Można podać nazwę pliku wraz ze ścieżka') NP-1nput('Podaj nazwę pliku ','s');
X Otwarcie pliku do zapisu Cf1d.komun1kat]-fopen(NP, 'w');
X Zapis tytułu do pliku fprintf (f1d,'Pomiary temper a tury \o\n');
X Zapis macierzy A do pliku dane.txt X w formacie staloprzednkowym: dwa znaki przed X kropka 1 dwa znaki po kropce oraz w trzech X kolumnach
fprintf (f1d.'%2.2f %2.2f %2.2f\n\A);
1f fid—i
dlsp(komunikat) end e«d