Jason. Cała informatyka w jednym miejscu!

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". "printf" w języku C jest na 99% przypadków pierwszą funkcją, którą poznajecie podczas uczenia się języka C (nie licząc punktu startowego jakim jest "main" ;)).

KRÓTKI OPIS FUNKCJI "PRINTF" W JĘZYKU C

Funkcja służy do podstawowej obsługi danych wyjściowych w celu konwersji określonego typu danej na łańcuch tekstowy nanoszony na strumień wyjściowy "stdout". 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 (taki przypadek określa się "niezdefiniowanym zachowaniem").

Funkcja "printf" w języku C

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

SPECYFIKATORY FORMATU FUNKCJI

Na zakończenie artykułu, przygotowałem tabelę specyfikatorów formatu "printf", aby wszystkie typy (przynajmniej te najważniejsze) były w jednym miejscu:

SPECYFIKATOR ZNACZENIE
%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 funkcją "printf" w języku C. 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ę.