nl:: ArgParser
Podsumowanie
Wyliczenia |
|
---|---|
OptionArgumentType
|
enum | typ wyliczeniowy Określa wymagania dotyczące argumentów w przypadku opcji wiersza poleceń. |
Definiuje typ |
|
---|---|
NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[])
|
typedefbool(*
Funkcja, którą można wywołać w celu obsługi wszystkich pozostałych argumentów wiersza poleceń niebędących opcją. |
OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg)
|
typedefbool(*
Funkcja, którą można wywołać w celu obsługi zestawu opcji wiersza poleceń. |
Zmienne |
|
---|---|
PrintArgError = DefaultPrintArgError)(const char *msg,...)
|
void(*
Wskaźnik funkcji służący do drukowania błędów występujących podczas analizowania argumentu.
|
gActiveOptionSets = NULL
|
OptionSet **
Lista OptionSets przekazanych do obecnie aktywnego wywołania ParseArgs().
|
Funkcje |
|
---|---|
CountAllOptions(OptionSet *optSets[])
|
size_t
|
CountAllOptions(OptionSet **optSets)
|
size_t
|
CountOptionSets(OptionSet *optSets[])
|
size_t
|
CountOptionSets(OptionSet **optSets)
|
size_t
|
DefaultPrintArgError(const char *msg, ...)
|
void
Drukuj komunikat o błędzie związany z analizowaniem argumentów.
|
FindOptionById(OptionSet **optSets, int optId, OptionSet *& optSet, OptionDef *& optDef)
|
void
|
FindOptionByIndex(OptionSet **optSets, int optIndex, OptionSet *& optSet, OptionDef *& optDef)
|
void
|
GetNextArg(char *& parsePoint)
|
bool
|
IsShortOptionChar(int ch)
|
bool
|
MakeLongOptions(OptionSet **optSets)
|
struct option *
|
MakeShortOptions(OptionSet **optSets)
|
char *
|
MakeUniqueHelpGroupNamesList(OptionSet *optSets[])
|
const char **
|
ParseArgs(const char *progName, int argc, char *argv[], OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown)
|
bool
Przeanalizować zestaw argumentów w stylu wiersza poleceń, wywołując funkcje obsługi w celu przetworzenia poszczególnych opcji oraz argumentów niebędących opcjami.
|
ParseArgs(const char *progName, int argc, char *argv[], OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler)
|
bool
|
ParseArgs(const char *progName, int argc, char *argv[], OptionSet *optSets[])
|
bool
|
ParseArgsFromEnvVar(const char *progName, const char *varName, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown)
|
bool
Przeanalizuj zestaw argumentów z nazwanej zmiennej środowiskowej.
|
ParseArgsFromEnvVar(const char *progName, const char *varName, OptionSet *optSets[])
|
bool
|
ParseArgsFromEnvVar(const char *progName, const char *varName, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler)
|
bool
|
ParseArgsFromString(const char *progName, const char *argStr, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown)
|
bool
Analiza zbioru argumentów danego ciągu znaków.
|
ParseArgsFromString(const char *progName, const char *argStr, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler)
|
bool
|
ParseArgsFromString(const char *progName, const char *argStr, OptionSet *optSets[])
|
bool
|
ParseBoolean(const char *str, bool & output)
|
bool
Przeanalizuj ciąg znaków jako wartość logiczną.
|
ParseFabricId(const char *str, uint64_t & fabricId, bool allowReserved)
|
bool
Przeanalizuj identyfikator tkaniny Weave w formie tekstowej.
|
ParseHexString(const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen)
|
bool
Przeanalizuj ciąg bajtów podany w postaci szesnastkowej.
|
ParseIPAddress(const char *str, IPAddress & output)
|
bool
Analizuj adres IP w postaci tekstowej.
|
ParseInt(const char *str, uint64_t & output, int base)
|
bool
Przeprowadź analizę i spróbuj przekonwertować ciąg na 64-bitową liczbę całkowitą bez znaku, stosując odpowiednią interpretację na podstawie parametru podstawowego.
|
ParseInt(const char *str, uint32_t & output, int base)
|
bool
Przeprowadź analizę i spróbuj przekonwertować ciąg na 32-bitową liczbę całkowitą bez znaku, stosując odpowiednią interpretację na podstawie parametru podstawowego.
|
ParseInt(const char *str, int32_t & output, int base)
|
bool
Przeprowadź analizę i spróbuj przekonwertować ciąg na 32-bitową liczbę całkowitą ze znakiem, stosując odpowiednią interpretację na podstawie parametru podstawowego.
|
ParseInt(const char *str, uint64_t & output)
|
bool
Przeanalizuj i spróbuj przekonwertować ciąg interpretowany jako wartość dziesiętną na 64-bitową liczbę całkowitą bez znaku, stosując odpowiednią interpretację na podstawie parametru podstawowego.
|
ParseInt(const char *str, uint32_t & output)
|
bool
Przeanalizuj i spróbuj przekonwertować ciąg interpretowany jako wartość dziesiętną na 32-bitową liczbę całkowitą bez znaku, stosując odpowiednią interpretację na podstawie parametru podstawowego.
|
ParseInt(const char *str, int32_t & output)
|
bool
Przeprowadź analizę i spróbuj przekonwertować ciąg interpretowany jako wartość dziesiętna na 32-bitową liczbę całkowitą ze znakiem, stosując odpowiednią interpretację na podstawie parametru podstawowego.
|
ParseInt(const char *str, uint16_t & output)
|
bool
Przeprowadź analizę i spróbuj przekonwertować ciąg interpretowany jako wartość dziesiętna na 16-bitową liczbę całkowitą bez znaku, stosując odpowiednią interpretację na podstawie parametru podstawowego.
|
ParseInt(const char *str, int16_t & output)
|
bool
Przeprowadź analizę i spróbuj przekonwertować ciąg interpretowany jako wartość dziesiętna na 16-bitową liczbę całkowitą ze znakiem, stosując odpowiednią interpretację na podstawie parametru podstawowego.
|
ParseInt(const char *str, uint8_t & output)
|
bool
Przeprowadź analizę i spróbuj przekonwertować ciąg interpretowany jako wartość dziesiętna na 8-bitową liczbę całkowitą bez znaku, stosując odpowiednią interpretację na podstawie parametru podstawowego.
|
ParseNodeId(const char *str, uint64_t & nodeId)
|
bool
Przeanalizuj identyfikator węzła Weave w formie tekstowej.
|
ParseSubnetId(const char *str, uint16_t & subnetId)
|
bool
Przeprowadź analizę i spróbuj przekonwertować ciąg na 16-bitowy niepodpisany identyfikator podsieci, interpretując ciąg jako szesnastkowy.
|
PrintOptionHelp(OptionSet *optSets[], FILE *s)
|
void
Wydrukuj tekst pomocy dla określonej listy opcji do strumienia.
|
PutStringWithBlankLine(FILE *s, const char *str)
|
void
|
PutStringWithNewLine(FILE *s, const char *str)
|
void
|
SplitArgs(char *argStr, char **& argList, char *initialArg)
|
int32_t
|
Zajęcia |
|
---|---|
nl:: |
Typowy element OptionSet używany do obsługi opcji informacyjnych (pomoc, wersja). |
nl:: |
Wartość OptionSet, w której moduł obsługi to funkcja wirtualna. |
Struktura |
|
---|---|
nl:: |
Definiuje opcję wiersza poleceń. |
nl:: |
Definiuje grupę powiązanych logicznie opcji wiersza poleceń wielokrotnego użytku. |
Wyliczenia
OptionArgumentType
OptionArgumentType
Określa wymagania dotyczące argumentów w przypadku opcji wiersza poleceń.
Definiuje typ
NonOptionArgHandlerFunct
bool(* NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[])
Funkcja, którą można wywołać w celu obsługi wszystkich pozostałych argumentów wiersza poleceń niebędących opcją.
OptionHandlerFunct
bool(* OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg)
Funkcja, którą można wywołać w celu obsługi zestawu opcji wiersza poleceń.
Zmienne
PrintArgError
void(* PrintArgError)(const char *msg,...) = DefaultPrintArgError
Wskaźnik funkcji służący do drukowania błędów występujących podczas analizowania argumentu.
Zamiast drukować bezpośrednio do stdout/stderr, aplikacje powinny wywoływać funkcję PrintArgError(), aby zgłaszać błędy w funkcjach obsługi opcji i argumentów niebędących opcjami.
Domyślnie jest to wskaźnik do funkcji DefaultPrintArgError()
.
gActiveOptionSets
OptionSet ** gActiveOptionSets = NULL
Lista OptionSets przekazanych do obecnie aktywnego wywołania ParseArgs().
Ta wartość będzie miała wartość NULL, jeśli nie jest wykonywane żadne wywołanie ParseArgs().
Funkcje
CountAllOptions
size_t CountAllOptions( OptionSet *optSets[] )
CountAllOptions
size_t CountAllOptions( OptionSet **optSets )
CountOptionSets
size_t CountOptionSets( OptionSet *optSets[] )
CountOptionSets
size_t CountOptionSets( OptionSet **optSets )
DefaultPrintArgError
void DefaultPrintArgError( const char *msg, ... )
Drukuj komunikat o błędzie związany z analizowaniem argumentów.
Funkcja domyślna używana do wyświetlania komunikatów o błędach, które pojawiają się w wyniku analizy argumentów.
Szczegóły | |||
---|---|---|---|
Parametry |
|
Aplikacje powinny wywoływać tę funkcję za pomocą wskaźnika funkcji PrintArgError, a nie jej bezpośrednio wywoływać.
FindOptionById
void FindOptionById( OptionSet **optSets, int optId, OptionSet *& optSet, OptionDef *& optDef )
FindOptionByIndex
void FindOptionByIndex( OptionSet **optSets, int optIndex, OptionSet *& optSet, OptionDef *& optDef )
GetNextArg
bool GetNextArg( char *& parsePoint )
IsShortOptionChar
bool IsShortOptionChar( int ch )
MakeLongOptions
struct option * MakeLongOptions( OptionSet **optSets )
MakeShortOptions
char * MakeShortOptions( OptionSet **optSets )
MakeUniqueHelpGroupNamesList
const char ** MakeUniqueHelpGroupNamesList( OptionSet *optSets[] )
ParseArgs
bool ParseArgs( const char *progName, int argc, char *argv[], OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown )
Przeanalizować zestaw argumentów w stylu wiersza poleceń, wywołując funkcje obsługi w celu przetworzenia poszczególnych opcji oraz argumentów niebędących opcjami.
ParseArgs() pobiera listę argumentów (argv
) i analizuje je zgodnie z zestawem podanych definicji opcji. Funkcja ta obsługuje zarówno opcje długie (opt), jak i Short (-o), a także implementuje tę samą składnię opcji co funkcja GNU getopt_long(3).
Szczegóły | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||
Zwroty |
true , jeśli udało się przeanalizować wszystkie opcje i argumenty inne niż opcja; false , jeśli opcja nie została rozpoznana lub któraś z funkcji obsługi zawiodła (czyli zwróciła wartość „fałsz”). |
Definicje opcji są przekazywane do ParseArgs() w postaci tablicy struktur OptionSet (optSets
). Każdy element OptionSet zawiera tablicę definicji opcji i funkcję obsługi. ParseArgs() przetwarza argumenty opcji w podanej kolejności, wywołując odpowiednią funkcję obsługi dla każdej rozpoznanej opcji. Po przeanalizowaniu wszystkich opcji do przetworzenia pozostałych argumentów wywoływana jest jednorazowa funkcja obsługi innej niż opcja (nonOptArgHandler
).
ZESTAW OPCJI
Element OptionSet zawiera zestaw definicji opcji wraz ze wskaźnikiem do funkcji obsługi, która zostanie wywołana po napotkaniu jednej z powiązanych opcji. Zestawy opcji zawierają również tekst pomocy opisujący składnię i przeznaczenie każdej opcji (patrz OPCJA POMOCY poniżej). Zestawy opcji umożliwiają tworzenie kolekcji powiązanych opcji do wielokrotnego użytku. Ułatwia to utrzymanie wielu aplikacji, które akceptują podobne opcje (np. aplikacje testowe).
Istnieją 2 wzorce definiowania OptionSetsone.Mogą to być albo zainicjowanie wystąpienia samej struktury OptionSet, np. jako statyczny element globalny lub podklasę OptionSetBase i udostępnić konstruktor. W tym drugim przypadku użyto czysto wirtualnej funkcji HandleOption()
do przekazania obsługi opcji do podklasy.
Listy wartości OptionSet są przekazywane do funkcji ParseArgs() w postaci tablicy wskaźników z zakończeniem NULL. E.g.:
static OptionSet gToolOptions = { HandleOption, // handler function gToolOptionDefs, // array of option definitions "GENERAL OPTIONS", // help group gToolOptionHelp // option help text }; static OptionSet *gOptionSets[] = { &gToolOptions, &gNetworkOptions, &gTestingOptions, &gHelpOptions, NULL }; int main(int argc, char *argv[]) { if (!ParseArgs("test-app", argc, argv, gOptionSets)) { ... } }
DEFINICJE OPCJI
Opcje definiuje się za pomocą struktury OptionDef
. Definicje opcji są uporządkowane w postaci tablicy elementów OptionDef, z których każdy element zawiera: nazwę opcji, identyfikator będący liczbą całkowitą służącą do jej identyfikacji oraz informację, czy opcja oczekuje na argument. Koniec tablicy „option” jest sygnalizowany przez pole Nazwa NULL. E.g.:
enum { kOpt_Listen = 1000, kOpt_Length, kOpt_Count, }; static OptionDef gToolOptionDefs[] = { // NAME REQUIRES/ALLOWS ARG? ID/SHORT OPTION CHAR // ============================================================ { "listen", kNoArgument, kOpt_Listen }, { "length", kArgumentRequired, kOpt_Length }, { "count", kArgumentRequired, kOpt_Count }, { "num", kArgumentRequired, kOpt_Count }, // alias for --count { "debug", kArgumentOptional, 'd' }, { "help", kNoArgument, 'h' }, { NULL } };
IDENTYFIKATORY OPCJI
Identyfikatory opcji identyfikują opcje w kodzie, które je obsługuje (funkcja OptionHandler). Identyfikatory opcji odnoszą się do elementów OptionSet, w których występują, i dlatego mogą być wielokrotnie wykorzystywane w różnych elementach OptionSet (zobacz jednak OPCJE SHORTS poniżej). Zazwyczaj stosuje się, aby identyfikatory opcji numerowania zaczynały się od wartości 1000, ale każda liczba > 128. Opcje aliasu można utworzyć, używając tego samego identyfikatora opcji z różnymi nazwami opcji.
OPCJE SHORT
W przeciwieństwie do metody getopt_long(3) funkcja ParseArgs() nie pobiera osobnego ciągu znaków określającego listę krótkich znaków opcji. W przypadku każdej opcji, której identyfikator mieści się w zakresie graficznych znaków ASCII, można użyć tego znaku jako krótkiej opcji.
Parametr ParseArgs() wymaga, aby krótkie znaki opcji były niepowtarzalne wśród wszystkich obiektów OptionSet. Z tego powodu odradzamy korzystanie z opcji krótkich w przypadku obiektów OptionSets, które są udostępniane między programami, ze względu na znaczne ryzyko kolizji. Krótkie znaki opcji można stosować ponownie w pojedynczym elemencie OptionSet, aby umożliwić tworzenie długich nazw opcji będących aliasami.
POMOC W OPCJI
Każdy element OptionSet zawiera ciąg znaków OptionHelp
opisujący przeznaczenie i składnię powiązanych opcji. Funkcja PrintOptionHelp()
używa tych ciągów znaków do generowania informacji o wykorzystaniu opcji.
Zgodnie z konwencją ciągi pomocy dotyczące opcji składają się z przykładu składni, po którym następuje opis opcji. Jeśli opcja ma krótką wersję lub nazwę aliasu, jest ona umieszczona przed długą nazwą podstawową. Dla zachowania spójności linie składni zostaną dodane do 2 spacji, a wiersze opisu – po 7 spacji. Pod każdym opisem opcji, w tym ostatnim, znajduje się jeden pusty wiersz.
E.g.:
static const char *const gToolOptionHelp = " --listen\n" " Listen and respond to requests sent from another node.\n" "\n" " --length\n" " Send requests with the specified number of bytes in the payload.\n" "\n" " --num, --count \n" " Send the specified number of requests and exit.\n" "\n" " -d, --debug [ ]\n" " Set debug logging to the given level. (Default: 1)\n" "\n" " -h, --help\n" " Print help information.\n" "\n";
GRUPY POMOCY W PRZYPADKU OPCJI
Zestawy OptionSet zawierają ciąg znaków HelpGroupName
, który służy do grupowania opcji w danych wyjściowych pomocy. Funkcja PrintOptionHelp()
wykorzystuje HelpGroupName jako tytuł sekcji w wygenerowanych danych wyjściowych dotyczących wykorzystania. Jeśli wiele zestawów OptionSet ma taką samą nazwę grupy pomocy, funkcja PrintOptionHelp() wyświetli pomoc dotyczącą opcji dla różnych zestawów opcji razem pod wspólnym tytułem sekcji.
ParseArgs
bool ParseArgs( const char *progName, int argc, char *argv[], OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler )
ParseArgs
bool ParseArgs( const char *progName, int argc, char *argv[], OptionSet *optSets[] )
ParseArgsFromEnvVar
bool ParseArgsFromEnvVar( const char *progName, const char *varName, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown )
Przeanalizuj zestaw argumentów z nazwanej zmiennej środowiskowej.
ParseArgsFromEnvVar() odczytuje nazwaną zmienną środowiskową i przekazuje wartość do ParseArgsFromString()
do analizy. Jeśli zmienna środowiskowa nie jest ustawiona, funkcja nie wykonuje żadnego działania.
Szczegóły | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||
Zwroty |
true , jeśli wszystkie opcje i argumenty inne niż opcja zostały przeanalizowane pomyślnie lub jeśli określona zmienna środowiskowa nie została ustawiona; false , jeśli opcja nie została rozpoznana, jeśli jedna z funkcji obsługi nie zadziałała (tj. zakończyła się wartością „fałsz”) lub wystąpił błąd wewnętrzny. |
ParseArgsFromEnvVar
bool ParseArgsFromEnvVar( const char *progName, const char *varName, OptionSet *optSets[] )
ParseArgsFromEnvVar
bool ParseArgsFromEnvVar( const char *progName, const char *varName, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler )
ParseArgsFromString
bool ParseArgsFromString( const char *progName, const char *argStr, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown )
Analiza zbioru argumentów danego ciągu znaków.
ParseArgsFromString() dzieli dany ciąg (argStr
) na zbiór argumentów i analizuje argumenty za pomocą funkcji ParseArgs().
Szczegóły | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||
Zwroty |
true , jeśli udało się przeanalizować wszystkie opcje i argumenty inne niż opcja; false , jeśli opcja nie została rozpoznana, jeśli jedna z funkcji obsługi nie zadziałała (tj. zakończyła się wartością „fałsz”) lub wystąpił błąd wewnętrzny. |
Składnia ciągów wejściowych jest podobna do składni poleceń powłoki systemu uniksowego, ale ma uproszczony schemat cytowania. Oto najważniejsze kwestie:
- Argumenty są rozdzielone odstępami, chyba że spacja jest cudzysłowem lub ze zmianą znaczenia.
- Ukośnik lewy zmienia znaczenie kolejnego znaku, co powoduje, że jest on traktowany jako zwykły znak. a sam ukośnik lewy jest usuwany.
- Pojedyncze lub podwójne cudzysłowy zaczynają się/koniec cudzysłowów ujętych w cudzysłów. Jedynymi znakami specjalnymi w podłańcuchu są ukośnik lewy, który zmienia znaczenie kolejnego znaku, i odpowiadający cudzysłów końcowy. Znaki w cudzysłowie na początku/końcu są ucinane.
E.g.:
--listen --count 10 --sw-version '1.0 (DEVELOPMENT)' "--hostname=nest.com"
ParseArgsFromString
bool ParseArgsFromString( const char *progName, const char *argStr, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler )
ParseArgsFromString
bool ParseArgsFromString( const char *progName, const char *argStr, OptionSet *optSets[] )
ParseBoolean
bool ParseBoolean( const char *str, bool & output )
Przeanalizuj ciąg znaków jako wartość logiczną.
Ta funkcja akceptuje następujące wartości wejściowe (wielkość liter nie jest rozróżniana): „true”, „yes”, „t”, „y”, „1”, „false”, „no”, „f”, „n”, „0”.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
prawda o sukcesie; w przeciwnym razie ma wartość Fałsz w przypadku niepowodzenia.
|
ParseFabricId
bool ParseFabricId( const char *str, uint64_t & fabricId, bool allowReserved )
Przeanalizuj identyfikator tkaniny Weave w formie tekstowej.
Funkcja ParseFabricId() akceptuje 64-bitowy identyfikator tkaniny podany w formacie szesnastkowym z początkowym „0x” lub bez niego.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
true (prawda), jeśli wartość została pomyślnie przeanalizowana; false, jeśli nie.
|
ParseHexString
bool ParseHexString( const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen )
Przeanalizuj ciąg bajtów podany w postaci szesnastkowej.
Funkcja ParseHexString() oczekuje, że dane wejściowe mają postać par cyfr szesnastkowych (wielkie lub małe litery). Pary szesnastkowe mogą być opcjonalnie rozdzielone takimi znakami: dwukropek, średnik, przecinek, kropka lub myślnik. Oprócz tego odstępy w całym ciągu wejściowym są ignorowane.
Szczegóły | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||
Zwroty |
true (prawda), jeśli wartość została pomyślnie przeanalizowana; Wartość false, jeśli dane wejściowe są uszkodzone lub jeśli wartość
outBuf jest zbyt mała. |
ParseIPAddress
bool ParseIPAddress( const char *str, IPAddress & output )
Analizuj adres IP w postaci tekstowej.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
true (prawda), jeśli wartość została pomyślnie przeanalizowana; false, jeśli nie.
|
ParseInt
bool ParseInt( const char *str, uint64_t & output, int base )
Przeprowadź analizę i spróbuj przekonwertować ciąg na 64-bitową liczbę całkowitą bez znaku, stosując odpowiednią interpretację na podstawie parametru podstawowego.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
prawda o sukcesie; w przeciwnym razie ma wartość Fałsz w przypadku niepowodzenia.
|
ParseInt
bool ParseInt( const char *str, uint32_t & output, int base )
Przeprowadź analizę i spróbuj przekonwertować ciąg na 32-bitową liczbę całkowitą bez znaku, stosując odpowiednią interpretację na podstawie parametru podstawowego.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
prawda o sukcesie; w przeciwnym razie ma wartość Fałsz w przypadku niepowodzenia.
|
ParseInt
bool ParseInt( const char *str, int32_t & output, int base )
Przeprowadź analizę i spróbuj przekonwertować ciąg na 32-bitową liczbę całkowitą ze znakiem, stosując odpowiednią interpretację na podstawie parametru podstawowego.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
prawda o sukcesie; w przeciwnym razie ma wartość Fałsz w przypadku niepowodzenia.
|
ParseInt
bool ParseInt( const char *str, uint64_t & output )
Przeanalizuj i spróbuj przekonwertować ciąg interpretowany jako wartość dziesiętną na 64-bitową liczbę całkowitą bez znaku, stosując odpowiednią interpretację na podstawie parametru podstawowego.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
prawda o sukcesie; w przeciwnym razie ma wartość Fałsz w przypadku niepowodzenia.
|
ParseInt
bool ParseInt( const char *str, uint32_t & output )
Przeanalizuj i spróbuj przekonwertować ciąg interpretowany jako wartość dziesiętną na 32-bitową liczbę całkowitą bez znaku, stosując odpowiednią interpretację na podstawie parametru podstawowego.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
prawda o sukcesie; w przeciwnym razie ma wartość Fałsz w przypadku niepowodzenia.
|
ParseInt
bool ParseInt( const char *str, int32_t & output )
Przeprowadź analizę i spróbuj przekonwertować ciąg interpretowany jako wartość dziesiętna na 32-bitową liczbę całkowitą ze znakiem, stosując odpowiednią interpretację na podstawie parametru podstawowego.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
prawda o sukcesie; w przeciwnym razie ma wartość Fałsz w przypadku niepowodzenia.
|
ParseInt
bool ParseInt( const char *str, uint16_t & output )
Przeprowadź analizę i spróbuj przekonwertować ciąg interpretowany jako wartość dziesiętna na 16-bitową liczbę całkowitą bez znaku, stosując odpowiednią interpretację na podstawie parametru podstawowego.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
prawda o sukcesie; w przeciwnym razie ma wartość Fałsz w przypadku niepowodzenia.
|
ParseInt
bool ParseInt( const char *str, int16_t & output )
Przeprowadź analizę i spróbuj przekonwertować ciąg interpretowany jako wartość dziesiętna na 16-bitową liczbę całkowitą ze znakiem, stosując odpowiednią interpretację na podstawie parametru podstawowego.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
prawda o sukcesie; w przeciwnym razie ma wartość Fałsz w przypadku niepowodzenia.
|
ParseInt
bool ParseInt( const char *str, uint8_t & output )
Przeprowadź analizę i spróbuj przekonwertować ciąg interpretowany jako wartość dziesiętna na 8-bitową liczbę całkowitą bez znaku, stosując odpowiednią interpretację na podstawie parametru podstawowego.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
prawda o sukcesie; w przeciwnym razie ma wartość Fałsz w przypadku niepowodzenia.
|
ParseNodeId
bool ParseNodeId( const char *str, uint64_t & nodeId )
Przeanalizuj identyfikator węzła Weave w formie tekstowej.
Funkcja ParseNodeId() akceptuje 64-bitowy identyfikator węzła podany w formacie szesnastkowym (z początkowym znakiem „0x” lub bez niego) albo słowa „any” lub „wszystko” które są interpretowane jako identyfikator dowolnego węzła (0xFFFFFFFFFFFFFFFF).
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
true (prawda), jeśli wartość została pomyślnie przeanalizowana; false, jeśli nie.
|
ParseSubnetId
bool ParseSubnetId( const char *str, uint16_t & subnetId )
Przeprowadź analizę i spróbuj przekonwertować ciąg na 16-bitowy niepodpisany identyfikator podsieci, interpretując ciąg jako szesnastkowy.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwroty |
prawda o sukcesie; w przeciwnym razie ma wartość Fałsz w przypadku niepowodzenia.
|
PrintOptionHelp
void PrintOptionHelp( OptionSet *optSets[], FILE *s )
Wydrukuj tekst pomocy dla określonej listy opcji do strumienia.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
PutStringWithBlankLine
void PutStringWithBlankLine( FILE *s, const char *str )
PutStringWithNewLine
void PutStringWithNewLine( FILE *s, const char *str )
SplitArgs
int32_t SplitArgs( char *argStr, char **& argList, char *initialArg )