top of page

Stałe wbudowane

Zaktualizowano: 28 kwi 2020

W różnych miejscach plików podsystemu OUX są zdefiniowane pewne stałe powszechnego użycia, a niektóre z nich nie mają przypisanej nazwy.

Jako NULL znanego z języka C lub null znanego z języka C++ dla wskaźnika należy używać stałej wartości 0.


Stałe boolean

W celu ustawienia wartości zmiennej typu B lub wartości pola bitowego należy przypisać wartość no lub yes. Stałe te reprezentują wartości odpowiednio: false lub true, znane z języka C. Natomiast wartość yes musi wynosić 1, jak w języku C++, a nie TRUE z języka C, która może mieć dowolną wartość różną od 0.

W celu odczytania wartości typu B należy używać domyślnego rzutowania na wartość B czyli czytać bezpośrednio lub przez negację:

if( b ){}
if( !b ){}

Ujemne stałe wyliczeniowe

Wiele procedur wraca z wartością typu N lub I, dla których 0 jest poprawną wartością. Dla tych typów danych zostały określone stałe wyliczeniowe, których wartości są liczone od maksimum zakresu, więc zmniejszają tylko niewiele zakres wartości od góry, a dają możliwość sygnalizacji bez korzystania z osobnej zmiennej.

Taką stałą jest nie zdefiniowana przez nazwę wartość empty wynosząca ~0; czyli -1 po rzutowaniu do wartości ze znakiem, jednak należy używać tej pierwszej wartości. W celu ustawienia zmiennej wartości empty należy jej przypisać ~0. W celu odczytania wartości empty należy używać domyślnego rzutowania czyli czytać następująco dla wartości empty lub nie‐empty:

if( !~n ){} //~0
if( ~n ){} //!~0

Takie sprawdzenie jest standardowym sprawdzeniem błędu procedury wracającej z wartością typu N lub I.

Inną stałą jest zdefiniowana przez nazwę wartość E_mem_Q_file_S_eof wynosząca ~1; czyli -2 po rzutowaniu do wartości ze znakiem. Zarówno w celu ustawienia jak i odczytania zmiennej tej wartości należy używać porównania z nazwą E_mem_Q_file_S_eof:

n = E_mem_Q_file_S_eof;
if( n == E_mem_Q_file_S_eof ){}
if( n != E_mem_Q_file_S_eof ){}

Pozostałe stałe

Zdefiniowane są też dwie stałe różnego typu reprezentujące tę samą daną – znak separatora nazw plików w danym systemie operacyjnym:

  • E_mem_Q_file_S_filename_separator będącą wartością typu C

  • E_mem_Q_file_S_filename_separator_s będąca wartością typu Pc

Ostatnie posty

Zobacz wszystkie
Klient HTTP/1.1 i HTTP/2

Do modułu “base” dodałem podstawową obsługę klienta HTTP/1.1 i HTTP/2, korzystając z szyfrowania TLS zapewnianego przez OpenSSL....

 
 
 

Comments


©2024 by technologia OUX / język C+. Stworzone przy pomocy Wix.com

bottom of page