Programu wnnie w MATLar
144
dlspC *) ,v
d1sp(*M»c1tri tostila zapisana do pllRU ) fclost(fld);
Konstrukcja tego pliku jest analogiczna do poprzednich. Dane zapisywane są w postaci sformatowanej za pomocy polecenia fyrintf, w którym łańcuch formatuj J ma postać:
Jest to zapis liczb w trzech kolumnach w formacie stałopozycyjnym w postaci: dwu znaki przed i dwa znaki po kropce dziesiętnej. Występujący w poleceniu fprintf łańcuch format nazywa się wzorcem konwersji, jest zgodny ze składnią języka C, i w ogólnym przypadku składa się z następujących elementów:
%ciqg Jlag szmkośćj)ola. liaba_wyprowadxanychjtnaków(łicib) typjzrgnnmtu Flagq może być znak - + lub spacja.
• - oznacza, że napis jest wyrównany lewostronnie w polu wyjściowym, uzupeł* j
niony z prabwej strony spacjami; , (l
• + oznacza, że napis liczbowy jest zawsze poprzedzony znakiem plus albo minus, stosownie do wartości argumentu;
• spacja oznacza, że napis liczbowy jest poprzedzony znakiem minus albo spacją, 1 stosowanie do wartości argumentu.
SterokoMpola jest minimalną szerokością pola, w którym zostanie umieszczony napis. 1 Szerokość pola może być określona liczbowo albo za pomocą znaku * (wtedy faktyczni] szerokość pola zostanie określona przez kolejny argument typu całkowitego).
.liczba wyprowadzanych znakówfliczb) określa minimalną liczbę cyfr napisów stało*] przecinkowych, liczbę cyfr ułamkowych napisów zmiennopozycyjnych i liczbę zna-J ków napisów utworzonych za pomocą wzorów zakończonych literą s. .liczba_}vypnm wodzonych znaków może być wyrażona symbolem * - wówczas dokładność jest określana przez następny argument funkcji, który musi być typu całkowitego. typ argumentu jest wyrażony za pomocą jednoliterowego kodu konwersji, określają*] cego sposób utworzenia napisu stanowiącego pole pliku. Mogą wystąpić następujące znaki kodu konwersji:
Kod konwersji |
Typ argumentu |
Pole pliku |
d |
int |
liczba dziesiętna |
i |
int |
liczba dziesiętna |
0 |
int |
liczba ósemkowa bez znaku |
u |
int |
liczba dziesiętna bez znaku |
X |
int |
liczba szesnastkowa bez znaku |
X |
int |
jw. |
Rod konwersji |
Typ argumentu |
Pole pliku |
f |
double |
liczba stalopozycyjna |
e |
double |
liczba zmiennopozycyjna |
E |
double |
liczba zmiennopozycyjna |
8 |
double |
liczba zmiennopozycyjna |
0 |
double |
liczba zmiennopozycyjna |
c s charę |
char ciąg znaków |
znak |
W łańcuchu formatującym mogą wystąpić następujące znaki:
Na |
nowy wiersz |
Nb |
cofnięcie |
Nr |
powrót karetki |
Nf |
nowa strona (form feed) |
Ni |
tabulacja |
W pliku dane.txt zapisana jest macierz posiadająca wymiar 3x3. Napistu m plik od cytujący wartości elementów tej macierzy.
Rozwiązanie
Rozwiązanie zawiera następujący m -plik:
X t0206_23 Odczyt danych ze sformatowanego V pliku tekstowego. Na dysku Jest pltR I tekstowy sformatowany, ktoryMiazywa s1e X dine.txt
X (c) jb
dc
deir
format compact f1d-0;
whi 1 e ftd<l
NPdO-1nput('Podaj nazwę pliku [f Id.komun 1 kat]-fopen(NPdO.*r')a X Odczyt pierwszej 11n11 - tytułu tytuł ~fgetl (f 1d): cle
d1sp(tytu1)s
X Odczyt macierzy A 1 liczby elemtn^0 CA,1losc3-fscanf(f1d.**f *f *f**c3 If fid—-1
dlsp(komunikat) end •ad