Sobota ma być dniem przyjemnym z powodu początku weekendu. Aby odejść trochę od tworzenia gier, napiszę z tej okazji na całkiem odmienny temat, który jest związany z językiem C i jego jedną z podstawowych funkcji dla danych wyjściowych. Mam tu na myśli "printf" (tu jest wyjaśnienie do czego to służy). Jeśli kogoś intryguje tworzenie gier w języku C, niech klika tutaj.

KRÓTKI OPIS FUNKCJI "PRINTF"

Metoda służy do podstawowej obsługi danych wyjściowych w celu konwersji określonego typu danej na łańcuch tekstowy nanoszony na ekran. Chciałem podkreślić, iż język C nie należy do najprostszych języków między innymi z powodu konieczności podania odpowiednich specyfikatorów formatu w tak zwanym "łańcuchu sterującym". Nie ma tak wygodnie jak w Javie na ten przykład, gdzie wrzucamy byle co do jednej funkcji, a reszta robi się sama. "printf" w języku C wymaga "prowadzenia za rękę" i trzeba podać właściwy specyfikator. Tutaj nic nas nie uchroni przed pomyłką, zatem jeden błąd może prowadzić do nieprzyjemnych konsekwencji w postaci wypisania nieoczekiwanych danych.

printf

Funkcja "printf" umożliwia konwertowanie danych wejściowych na tekst wypisywany w strumieniu wyjściowym "stdout".

SPECYFIKATORY FORMATU FUNKCJI

To nie jest artykuł tłumaczący bezpośrednio zasadę działania wyżej wymienionej funkcji. Tutaj przedstawiam jedynie tabelę specyfikatorów formatu "printf" przeznaczoną dla programistów posiadających już wiedzę w tym kierunku, aby wszystkie typy (przynajmniej te najważniejsze) były w jednym miejscu.

Specyfikator Przeznaczenie
%hd liczba całkowita w systemie dziesiętnym ze znakiem (signed short int)
%hu liczba całkowita w systemie dziesiętnym bez znaku (unsigned short int)
%d / %i liczba całkowita w systemie dziesiętnym ze znakiem (signed int)
%u liczba całkowita w systemie dziesiętnym bez znaku (unsigned int)
%ld liczba całkowita w systemie dziesiętnym ze znakiem (signed long int)
%lu liczba całkowita w systemie dziesiętnym bez znaku (unsigned long int)
%lld liczba całkowita w systemie dziesiętnym ze znakiem (signed long long int)
%llu liczba całkowita w systemie dziesiętnym bez znaku (unsigned long long int)
%o liczba całkowita w systemie oktalnym (ósemkowym)
%x / %X liczba całkowita w systemie heksadecymalnym (szesnastkowym)
%f liczba zmiennoprzecinkowa w systemie dziesiętnym (float / double)
%e / %E liczba zmiennoprzecinkowa w notacji naukowej
%c pojedynczy znak
%s łańcuch znaków
%p wskaźnik jako adres (*)
%% znak procentu

Artykuł trochę wyjęty z kieszeni, aby nie być tak monotematycznym, że tylko tworzenie gier i tworzenie gier. Dzisiaj zapoznaliście się ze specyfikatorami formatu dla funkcji "printf". Na koniec dodam od siebie dwa słowa na odrębny temat. Od tej pory podnoszę częstotliwość wydawania nowych artykułów i będziecie mogli dostrzec nowy wątek każdego dnia, nawet w niedzielę.