透過集合功能整理內容 你可以依據偏好儲存及分類內容。

nl::亞爾帕爾

總結

列舉

OptionArgumentType 列舉
定義指令列選項的引數要求。

Typedefs

NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[]) typedef
bool(*
這個函式可以呼叫以處理任何剩餘的非選項指令列引數。
OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg) typedef
bool(*
可呼叫一組函式以呼叫一組指令列選項。

變數

PrintArgError = DefaultPrintArgError)(const char *msg,...)
void(*
指向引數剖析函式的函式。
gActiveOptionSets = NULL
傳送到目前有效的 ParseArgs() 呼叫的 OptionSet 清單。

函式

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
列印與引數剖析相關的錯誤訊息。
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
剖析一組指令列樣式引數,呼叫處理函式以處理每個選項和非選項引數。
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
從已命名的環境變數中剖析一組引數。
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
剖析來自特定字串的一組引數。
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
剖析字串,以布林值表示。
ParseFabricId(const char *str, uint64_t & fabricId, bool allowReserved)
bool
剖析文字形式的編織布料編號。
ParseHexString(const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen)
bool
剖析十六進位字串形式的十六進位字串。
ParseIPAddress(const char *str, IPAddress & output)
bool
以文字形式剖析 IP 位址。
ParseInt(const char *str, uint64_t & output, int base)
bool
剖析並嘗試將字串轉換為 64 位元的不帶正負號整數,並根據基本參數套用適當的解釋。
ParseInt(const char *str, uint32_t & output, int base)
bool
剖析並嘗試將字串轉換為 32 位元的不帶正負號整數,並根據基本參數套用適當的解釋。
ParseInt(const char *str, int32_t & output, int base)
bool
剖析並嘗試將字串轉換為 32 位元的正負號整數,並根據基本參數套用適當的解釋。
ParseInt(const char *str, uint64_t & output)
bool
剖析並嘗試將解譯為十進位值的字串轉換成 64 位元的正負號整數,並根據基本參數套用適當的解釋。
ParseInt(const char *str, uint32_t & output)
bool
剖析並嘗試將解譯為十進位值的字串轉換成 32 位元的正負號整數,並根據基本參數套用適當的解釋。
ParseInt(const char *str, int32_t & output)
bool
剖析並嘗試將解譯為十進位值的字串轉換成 32 位元的正負號整數,並根據基本參數套用適當的解釋。
ParseInt(const char *str, uint16_t & output)
bool
剖析並嘗試將解譯為十進位值的字串轉換成 16 位元的不帶正負號整數,並根據基本參數套用適當的解釋。
ParseInt(const char *str, int16_t & output)
bool
剖析並嘗試將解譯為十進位值的字串轉換成 16 位元的正負號整數,並根據基本參數套用適當的解釋。
ParseInt(const char *str, uint8_t & output)
bool
剖析並嘗試將解譯為十進位值的字串轉換成 8 位元的正負號整數,並根據基本參數套用適當的解釋。
ParseNodeId(const char *str, uint64_t & nodeId)
bool
剖析文字形式的 Weave 節點 ID。
ParseSubnetId(const char *str, uint16_t & subnetId)
bool
剖析並嘗試將字串轉換為 16 位元未簽署的子網路 ID,將字串解讀為十六進位。
PrintOptionHelp(OptionSet *optSets[], FILE *s)
void
將指定選項清單的說明文字列印至串流中。
PutStringWithBlankLine(FILE *s, const char *str)
void
PutStringWithNewLine(FILE *s, const char *str)
void
SplitArgs(char *argStr, char **& argList, char *initialArg)
int32_t

類別

nl::ArgParser::HelpOptions

處理資訊選項 (說明、版本) 的常見 OptionSet

nl::ArgParser::OptionSetBase

OptionSet,其中處理常式為虛擬函式。

結構

nl::ArgParser::OptionDef

定義指令列選項。

nl::ArgParser::OptionSet

定義一組邏輯相關且可重複使用的指令列選項。

列舉

OptionArgument 類型

 OptionArgumentType

定義指令列選項的引數要求。

Typedefs

NonOptionArgHandlerFunct

bool(* NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[])

這個函式可以呼叫以處理任何剩餘的非選項指令列引數。

OptionHandlerFunct

bool(* OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg)

可呼叫一組函式以呼叫一組指令列選項。

變數

PrintArgError

void(* PrintArgError)(const char *msg,...) = DefaultPrintArgError

指向引數剖析函式的函式。

應用程式應呼叫 PrintArgError() 來回報其選項和非選項引數處理函式的錯誤,而不是直接列印至 stdout/stderr。

預設值為 DefaultPrintArgError() 函式的遊標。

gActiveOptionSets

OptionSet ** gActiveOptionSets = NULL

傳送到目前有效的 ParseArgs() 呼叫的 OptionSet 清單。

沒有任何對 ParseArgs() 的呼叫進行時,這個值將會是 NULL。

函式

CountAllOptions 選項

size_t CountAllOptions(
  OptionSet *optSets[]
)

CountAllOptions 選項

size_t CountAllOptions(
  OptionSet **optSets
)

計數選項集

size_t CountOptionSets(
  OptionSet *optSets[]
)

計數選項集

size_t CountOptionSets(
  OptionSet **optSets
)

預設列印作業錯誤

void DefaultPrintArgError(
  const char *msg,
  ...
)

列印與引數剖析相關的錯誤訊息。

預設函式可用來列印因引數剖析而產生的錯誤訊息。

詳細資料
參數
[in] msg
要列印的訊息。

應用程式應透過 PrintArgError 函式指標呼叫,而不是直接呼叫此函式。

尋找選項編號

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
)

製作長選項

struct option * MakeLongOptions(
  OptionSet **optSets
)

MakeShortOptions

char * MakeShortOptions(
  OptionSet **optSets
)

不重複說明群組名稱清單

const char ** MakeUniqueHelpGroupNamesList(
  OptionSet *optSets[]
)

剖析

bool ParseArgs(
  const char *progName,
  int argc,
  char *argv[],
  OptionSet *optSets[],
  NonOptionArgHandlerFunct nonOptArgHandler,
  bool ignoreUnknown
)

剖析一組指令列樣式引數,呼叫處理函式以處理每個選項和非選項引數。

ParseArgs() 會使用引數 (argv) 清單,並依據一組提供的選項定義剖析這些引數。此函式同時支援長 (選擇) 和簡短 (-o) 選項,並且採用與 GNU getopt_long(3) 函式相同的選項語法。

詳細資料
參數
[in] progName
要剖析引數的程式名稱或內容。這個字串會用來在錯誤訊息和警告前加上前置字元。
[in] argc
要剖析的引數數量,再加上 1。
[in] argv
要剖析的引數字串陣列。陣列長度必須大於 argc 所指定的值 1,而 argv[argc] 必須設為 NULL。引數剖析是以 second 陣列元素 (argv[1]) 開頭;系統會忽略元素 0。
[in] optSets
指向 OptionSet 結構的指向定義法律選項的指標清單。提供的清單必須以 NULL 終止。
[in] nonOptArgHandler
使用任何剩餘非選項引數完成剖析選項之後,將呼叫的函式指標。無論其是否保留任何引數,系統都會呼叫此函式。傳送 NULL 時,ParseArgs() 則會回報任何非選項引數 (如有)。
[in] ignoreUnknown
如為 true,則會自動忽略任何無法辨識的選項。
傳回
true 成功剖析所有選項和非選項引數;如果無法辨識選項或其中一個處理常式函式失敗 (例如傳回 false),則傳回 false

選項定義會以 OptionSet 結構 (optSets) 的陣列傳遞給 ParseArgs()。每個 OptionSet 都包含選項定義陣列和處理常式函式。ParseArgs() 會根據指定的順序處理選項引數,並呼叫各個可辨識選項的處理常式函式。剖析所有選項之後,系統會呼叫個別非選項處理常式函式 (nonOptArgHandler),以處理剩餘的引數。

選項集

OptionSet 包含一組選項定義,以及當遇到其中一個相關選項時就會呼叫的處理常式函式。選項集也包含說明文字,說明每個選項的語法和用途 (請參閱下方的選項說明)。選項集可用來建立可重複使用的關聯選項集合。如此可以簡化維護多個可接受類似選項的多個應用程式 (例如測試應用程式)。

定義 OptionSetsone 的模式有兩種:可選擇將 OptionSet 結構的例項初始化,例如做為全域全域,或者是 OptionSetBase 子類別,並提供建構函式。後者會使用純虛擬 HandleOption() 函式,將選項處理委派給子類別。

OptionSets 清單會以 NULL 終止指標陣列傳遞至 ParseArgs() 函式。例如:

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))
    {
        ...
    }
}

選項定義

選項是使用 OptionDef 結構來定義。選項定義是 OptionDef 元素的陣列,其中每個元素都包含:選項名稱、用於識別選項的整數編號,以及選項是否接受/允許引數。選項陣列的結尾以 NULL Name 欄位表示。例如:

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 }
};

選項 ID

選項 ID 可用來辨識用於處理程式碼的選項 (OptionHandler 函式)。選項 ID 相對於其所屬 OptionSet,因此可於不同的 OptionSet 中重複使用 (不過,請見下面的 SHORT OPTIONS)。常見的慣例是將編號選項編號從 1000 開始,不過數字可以使用 128。您可以使用別名選項搭配不同的選項名稱來建立別名選項。

簡短選項

與 getopt_long(3) 不同,ParseArgs() 不會使用獨立字串來指定短選項字元清單。反之,如果 ID 值落在圖表 ASCII 字元範圍內,則該字元將做為短選項使用。

ParseArgs() 規定所有 all OptionSets 中的簡短選項字元均不得重複。有鑑於此,我們不建議在各種程式間共用短選項時,避免使用衝突選項。短選項字元可在單一 OptionSet 中重複使用,以建立別名長選項名稱。

選項說明

每個 OptionSet 皆包含一個 OptionHelp 字串,用來說明相關選項的用途和語法。PrintOptionHelp() 函式會使用這些字串來產生選項使用資訊。

依照慣例,選項說明字串是由一段文字說明,後面加上選項的文字說明。如果選項只有簡短版本或別名名稱,系統會優先使用簡稱。為求一致性,語法行會以 2 個空格縮排,而內容描述行則以 7 個空格分隔。每個選項說明後面都有一個空白行,包括最後一個選項。

例如:

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";

選項說明群組

OptionSets 包含 HelpGroupName 字串,可用來在說明輸出中將選項分組。PrintOptionHelp() 函式會使用 HelpGroupName 做為產生的用量輸出內容中的區段標題。如果多個 OptionSet 具有相同的 HelpGroupName,PrintOptionHelp() 會在不同區段標題下同時列印不同的 OptionSet 說明。

剖析

bool ParseArgs(
  const char *progName,
  int argc,
  char *argv[],
  OptionSet *optSets[],
  NonOptionArgHandlerFunct nonOptArgHandler
)

剖析

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
)

從已命名的環境變數中剖析一組引數。

ParseArgsFromEnvVar() 可讀取已命名的環境變數,並將該值傳送至 ParseArgsFromString() 進行剖析。如果未設定環境變數,函式則不會執行任何動作。

詳細資料
參數
[in] progName
要剖析引數的程式名稱或內容。這個字串會用來在錯誤訊息和警告前加上前置字元。
[in] varName
環境變數的名稱。
[in] optSets
指向 OptionSet 結構的指向定義法律選項的指標清單。提供的清單必須以 NULL 終止。
[in] nonOptArgHandler
使用任何剩餘非選項引數完成剖析選項之後,將呼叫的函式指標。無論其是否保留任何引數,系統都會呼叫此函式。傳送 NULL 時,ParseArgs() 則會回報任何非選項引數 (如有)。
[in] ignoreUnknown
如為 true,則會自動忽略任何無法辨識的選項。
傳回
true 如果所有剖析器和非選項引數均已剖析成功,或是未設定指定的環境變數;false 如果無法辨識選項、其中一個處理常式函式失敗 (亦即傳回 false) 或發生內部錯誤即可。

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
)

剖析來自特定字串的一組引數。

ParseArgsFromString() 將指定字串 (argStr) 分割成一組引數,並使用 ParseArgs() 函式剖析引數。

詳細資料
參數
[in] progName
要剖析引數的程式名稱或內容。這個字串會用來在錯誤訊息和警告前加上前置字元。
[in] argStr
包含要剖析的選項和引數的字串。
[in] optSets
指向 OptionSet 結構的指向定義法律選項的指標清單。提供的清單必須以 NULL 終止。
[in] nonOptArgHandler
使用任何剩餘非選項引數完成剖析選項之後,將呼叫的函式指標。無論其是否保留任何引數,系統都會呼叫此函式。傳送 NULL 時,ParseArgs() 則會回報任何非選項引數 (如有)。
[in] ignoreUnknown
如為 true,則會自動忽略任何無法辨識的選項。
傳回
true 如果所有選項和非選項引數均成功剖析;false 無法辨識選項、如果其中一個處理常式函式失敗 (亦即傳回 false) 或發生內部錯誤。

輸入字串的語法與 Unix 殼層指令語法類似,但經過簡化的引用配置。詳細說明:

  • 除非以半形引號括住或逸出,否則引數會以空白字元分隔。
  • 反斜線逸出下列字元,導致系統將其視為一般字元。反斜線本身會被去除。
  • 單引號或雙引號的開頭/結尾的子字串。在子字串中,唯一的特殊字元是反斜線,可逸出下一個字元,以及對應的結束引號。開始/結束引號字元被移除。

例如:

--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[]
)

帕爾斯伯勒

bool ParseBoolean(
  const char *str,
  bool & output
)

剖析字串,以布林值表示。

This function accepts the following input values (case-insensitive): "true", "yes", "t", "y", "1", "false", "no", "f", "n", "0".

詳細資料
參數
[in] str
指向 NULL 結尾 C 字串的指向指標,代表要剖析的值。
[out] output
針對成功儲存時儲存剖析值的布林值參照。
傳回
成功時傳回 true;如果失敗則傳回 false。

ParseFabricId

bool ParseFabricId(
  const char *str,
  uint64_t & fabricId,
  bool allowReserved
)

剖析文字形式的編織布料編號。

ParseFabricId() 函數接受 14 位 14 個十六位格式的織物 ID,有或不為領先 '0x'。

詳細資料
參數
[in] str
指向 NULL 結尾 C 字串的指向指標,其中包含要剖析的布料 ID。
[out] output
uint64_t lvalue 的參照,此值將會在成功儲存時儲存剖析的值。
[in] allowReserved
如為 true,請允許在保留範圍內剖析布料 ID。
傳回
如果值成功剖析,則傳回 true;如果不是,則傳回 false。

ParseHexString

bool ParseHexString(
  const char *hexStr,
  uint32_t strLen,
  uint8_t *outBuf,
  uint32_t outBufSize,
  uint32_t & outDataLen
)

剖析十六進位字串形式的十六進位字串。

ParseHexString() 預期輸入內容採用十六進位數字組合 (大寫或小寫)。十六進位值組可視需要使用以下字元分隔:冒號、分號、逗號、句號或破折號。此外,系統會忽略輸入字串中的任何位置的空白字元。

詳細資料
參數
[in] hexStr
指向要剖析的字串。
[in] strLen
十六進位 要剖析的字元數。
[in] outBuf
指向剖析位元組的緩衝區指標。
[in] outBufSize
指向 outBuf 的緩衝區大小。
[out] outDataLen
可接收剖析位元組總數的整數參照。如果 outbuf 過大而無法存放指定位元組數,outDataLen 將會設為 UINT32_MAX。
傳回
成功剖析值時為 true;如果輸入的資料格式錯誤,或為 outBuf 太小,則傳回 false。

剖析 IP 位址

bool ParseIPAddress(
  const char *str,
  IPAddress & output
)

以文字形式剖析 IP 位址。

詳細資料
參數
[in] str
指向 NULL 結尾 C 字串的指向指標,其中包含要剖析的地址。
[out] output
參照成功的 IPAddress 物件參照,其中成功儲存剖析後的值。
傳回
如果值成功剖析,則傳回 true;如果不是,則傳回 false。

剖析

bool ParseInt(
  const char *str,
  uint64_t & output,
  int base
)

剖析並嘗試將字串轉換為 64 位元的不帶正負號整數,並根據基本參數套用適當的解釋。

詳細資料
參數
[in] str
指向 NULL 結尾 C 字串的指向指標,代表要剖析的整數。
[out] output
64 位元未簽署整數的參照,其中儲存的值會在成功儲存時儲存。
[in] base
字串的解讀和剖析基礎。如果 0 或 16,字符串可以是十六個字符,然後加上“0x”。否於,0 被默示為 10,除非遇到了 8 的前進 0。
傳回
成功時傳回 true;如果失敗則傳回 false。

剖析

bool ParseInt(
  const char *str,
  uint32_t & output,
  int base
)

剖析並嘗試將字串轉換為 32 位元的不帶正負號整數,並根據基本參數套用適當的解釋。

詳細資料
參數
[in] str
指向 NULL 結尾 C 字串的指向指標,代表要剖析的整數。
[out] output
針對 32 位元未簽署整數的儲存,此參照會在儲存成功時儲存剖析值。
[in] base
字串的解讀和剖析基礎。如果 0 或 16,字符串可以是十六個字符,然後加上“0x”。否於,0 被默示為 10,除非遇到了 8 的前進 0。
傳回
成功時傳回 true;如果失敗則傳回 false。

剖析

bool ParseInt(
  const char *str,
  int32_t & output,
  int base
)

剖析並嘗試將字串轉換為 32 位元的正負號整數,並根據基本參數套用適當的解釋。

詳細資料
參數
[in] str
指向 NULL 結尾 C 字串的指向指標,代表要剖析的整數。
[out] output
32 位元的正負號整數儲存參照,成功儲存剖析後的值。
[in] base
字串的解讀和剖析基礎。如果 0 或 16,字符串可以是十六個字符,然後加上“0x”。否於,0 被默示為 10,除非遇到了 8 的前進 0。
傳回
成功時傳回 true;如果失敗則傳回 false。

剖析

bool ParseInt(
  const char *str,
  uint64_t & output
)

剖析並嘗試將解譯為十進位值的字串轉換成 64 位元的正負號整數,並根據基本參數套用適當的解釋。

詳細資料
參數
[in] str
指向 NULL 結尾 C 字串的指向指標,代表要剖析的整數。
[out] output
64 位元未簽署整數的參照,其中儲存的值會在成功儲存時儲存。
傳回
成功時傳回 true;如果失敗則傳回 false。

剖析

bool ParseInt(
  const char *str,
  uint32_t & output
)

剖析並嘗試將解譯為十進位值的字串轉換成 32 位元的正負號整數,並根據基本參數套用適當的解釋。

詳細資料
參數
[in] str
指向 NULL 結尾 C 字串的指向指標,代表要剖析的整數。
[out] output
針對 32 位元未簽署整數的儲存,此參照會在儲存成功時儲存剖析值。
傳回
成功時傳回 true;如果失敗則傳回 false。

剖析

bool ParseInt(
  const char *str,
  int32_t & output
)

剖析並嘗試將解譯為十進位值的字串轉換成 32 位元的正負號整數,並根據基本參數套用適當的解釋。

詳細資料
參數
[in] str
指向 NULL 結尾 C 字串的指向指標,代表要剖析的整數。
[out] output
32 位元的正負號整數儲存參照,成功儲存剖析後的值。
傳回
成功時傳回 true;如果失敗則傳回 false。

剖析

bool ParseInt(
  const char *str,
  uint16_t & output
)

剖析並嘗試將解譯為十進位值的字串轉換成 16 位元的不帶正負號整數,並根據基本參數套用適當的解釋。

詳細資料
參數
[in] str
指向 NULL 結尾 C 字串的指向指標,代表要剖析的整數。
[out] output
16 位元未簽署整數的儲存空間的參照,儲存成功值時,即會儲存至此儲存值。
傳回
成功時傳回 true;如果失敗則傳回 false。

剖析

bool ParseInt(
  const char *str,
  int16_t & output
)

剖析並嘗試將解譯為十進位值的字串轉換成 16 位元的正負號整數,並根據基本參數套用適當的解釋。

詳細資料
參數
[in] str
指向 NULL 結尾 C 字串的指向指標,代表要剖析的整數。
[out] output
16 位元已簽署整數的儲存空間的參照,儲存成功值時,即會儲存至此儲存值。
傳回
成功時傳回 true;如果失敗則傳回 false。

剖析

bool ParseInt(
  const char *str,
  uint8_t & output
)

剖析並嘗試將解譯為十進位值的字串轉換成 8 位元的正負號整數,並根據基本參數套用適當的解釋。

詳細資料
參數
[in] str
指向 NULL 結尾 C 字串的指向指標,代表要剖析的整數。
[out] output
針對 8 位元未簽署的整數的參照,此儲存值會在儲存時儲存;
傳回
成功時傳回 true;如果失敗則傳回 false。

ParseNodeId

bool ParseNodeId(
  const char *str,
  uint64_t & nodeId
)

剖析文字形式的 Weave 節點 ID。

ParseNodeId() 函數接受 14 位十六個字段的數據數字 ID(有或不領先 '0x')或 “ 'any' 或 'all' 為 0.FFFFFFFFFFFFFFFF。

詳細資料
參數
[in] str
指向 NULL 結尾的 C 字串,其中包含要剖析的節點 ID。
[out] output
uint64_t lvalue 的參照,此值將會在成功儲存時儲存剖析的值。
傳回
如果值成功剖析,則傳回 true;如果不是,則傳回 false。

剖析子網路 ID

bool ParseSubnetId(
  const char *str,
  uint16_t & subnetId
)

剖析並嘗試將字串轉換為 16 位元未簽署的子網路 ID,將字串解讀為十六進位。

詳細資料
參數
[in] str
指向 NULL 結尾的 C 字串,指出要剖析的子網路 ID (格式為十六進位數字)。
[in,out] subnetId
針對儲存成功的子網路 ID 值儲存 16 位元不帶正負號整數的參照。
傳回
成功時傳回 true;如果失敗則傳回 false。

列印選項說明

void PrintOptionHelp(
  OptionSet *optSets[],
  FILE *s
)

將指定選項清單的說明文字列印至串流中。

詳細資料
參數
[in] optSets
OptionSet 結構的指向清單,內含要列印的說明文字。
[in] s
要列印說明文字的 FILE 串流。

推桿

void PutStringWithBlankLine(
  FILE *s,
  const char *str
)

推線

void PutStringWithNewLine(
  FILE *s,
  const char *str
)

分割臂

int32_t SplitArgs(
  char *argStr,
  char **& argList,
  char *initialArg
)