Sformatowane wyjście
Next: Sformatowane wejście
Up: Funkcje We/Wy w libc
Previous: Funkcje We/Wy w libc
  Contents
Sformatowane wyjście
Funkcje printf(...) z libc dostarczają sformatowane
wyjście i transformacje argumentów.
int fprintf(FILE *stream, const char *format, ...),
przeformatuje wyjście ( argumenty wypełniające ...) i
zapisze w stream. Format zdefiniowany w format
zostanie również zapisany. Funkcja zwróci ilość zapisanych znaków
lub wartość ujemną jeżeli nastąpił błąd.
format zawiera dwa rodzaje obiektów
1.
normalne znaki dla wyjścia i
2.
informacje jak przekształcić lub sformatować argumenty.
Informacje formatujące muszą zaczynać się od % poprzedzającego
wartość opcji formatującej i znak formatowania ( aby wypisać % musisz
użyć następującą kombinację %%). Wartości opcji formatujących:
Flagi
-
Sformatowany argument zostanie wypisany z lewym marginesem ( domyślnym jest
prawy ).
+
Każda liczba zostanie wypisana ze znakiem, np: +12 lub -2.32.
Puste
Kiedy znak nie jest pierwszy zostanie wstawiona pustka.
0
Dla transformacji numerycznych pole zostanie wypełnione 0 po lewej
stronie.
#
Alternatywne wyjście zależne od transformacji argumentu
Alternate output depending on the transformation for the argument
Dla o pierszą cyfrą jest 0.
Dla x lub X 0x lub 0X zostanie wstawione
poprzedzając argument.
Dla e, E, f lub F wyjście jest liczbą dziesiętną.
Dla g lub G zera na końcu argumentu są drukowane.
Minimalny rozmiar pola.
Sformatowany argument jest drukowany w pole, które jest co najmniej tak
duże jak argument. Podając liczbę możesz zwiększyć to pole. Jeżeli
argument jest mniejszy puste pole zostanie wypełnione zerami lub pozostanie
puste.
Kropka aby odseparować szerokość i precyzję pola.
Precyzja.
Możliwe wartości transformacji są w tabeli 8.1 na stronie .
int printf(const char *format, ...)
To samo co fprintf(stdout, ...).
int sprintf(char *s, const char *format, ...)
To samo co printf(...), przy czym wyjście zostanie zapisane
pod adresem wskazywanym przez s ( będzie zakończone \0 ).
( Uwaga: Musisz przygotować odpowiednią ilość pamięci dla s. )
vprintf(const char *format, va_list arg)
vfprintf(FILE *stream, const char *format, va_list arg)
vsprintf(char *s, const char *format, va_list arg)
To samo co funkcje powyżej przy czym lista argumentów ustawiona jest na
arg.
Table 8.1:
Libc - transformacje dla printf
Znak
Formatowanie
d,i
int liczba ze znakiem
o
int unsigned, ósemkowo, bez poprzedzającego 0
x,X
int unsigned, szesnastkowo, bez poprzedzającego 0x
u
int unsigned, dziesiętnie
c
int (unsigned) pojedynczy znak
s
char * aż do \0
f
double jako [-]mmm.ddd
e,E
double jako [-]m.ddddddexx
g,G
double użyj %e lub %f jeżeli musisz
p
void *
n
int *
%
%
Next: Sformatowane wejście
Up: Funkcje We/Wy w libc
Previous: Funkcje We/Wy w libc
  Contents
2000-03-01
Wyszukiwarka
Podobne podstrony:
node87 K7XCVNZBQYIQVIY26ZDNDTOCMD36UPVFQY6BPIInode87node87 TCE2YVGBVWFZYQW5AARVAH6P3TGRPKX3A5GWIAAnode87 1node87node87 ZSHPB7IDVIHJTYVSX5EVIUF7UMABU3D6EJ4OJGAwięcej podobnych podstron