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.
Tweet |
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.
![]() |
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ę.