nl:: ArgParser
خلاصه
فهرستها |
|
|---|---|
OptionArgumentType
|
شمارشی الزامات آرگومان را برای گزینه خط فرمان تعریف میکند. |
Typedefs |
|
|---|---|
NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[])
|
typedefbool(*
تابعی که میتواند برای رسیدگی به هرگونه متغیر مستقل خط فرمان باقیمانده و غیراختیاری فراخوانی شود. |
OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg)
|
typedefbool(*
تابعی که میتواند برای رسیدگی به مجموعهای از گزینههای خط فرمان فراخوانده شود. |
متغیر |
|
|---|---|
PrintArgError = DefaultPrintArgError)(const char *msg,...)
|
void(*
اشارهگر به تابع مورداستفاده برای چاپ خطاهایی که درطول تجزیه متغیر مستقل رخ میدهد.
|
gActiveOptionSets = NULL
|
OptionSet **
فهرست OptionSets به تماس ParseArgs() فعال کنونی منتقل شد.
|
توابع |
|
|---|---|
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
شناسه پارچه Weave را در قالب نوشتار تجزیه کنید.
|
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
تجزیه و تلاش برای تبدیل رشته به عدد صحیح بدون علامت ۶۴ بیتی، با اعمال تفسیر مناسب براساس پارامتر پایه.
|
ParseInt(const char *str, uint32_t & output, int base)
|
bool
تجزیه و تلاش برای تبدیل رشته به عدد صحیح بدون علامت ۳۲ بیتی، با اعمال تفسیر مناسب براساس پارامتر پایه.
|
ParseInt(const char *str, int32_t & output, int base)
|
bool
تجزیه و تلاش برای تبدیل رشته به عدد صحیح علامتدار ۳۲ بیتی، با اعمال تفسیر مناسب براساس پارامتر پایه.
|
ParseInt(const char *str, uint64_t & output)
|
bool
رشتهای را که بهعنوان مقدار اعشاری تفسیر شده است تجزیه میکند و تلاش میکند آن را به عدد صحیح بدون علامت ۶۴ بیتی تبدیل کند، و تفسیر مناسب را براساس پارامتر پایه اعمال میکند.
|
ParseInt(const char *str, uint32_t & output)
|
bool
رشتهای را که بهعنوان مقدار اعشاری تفسیر شده است تجزیه میکند و تلاش میکند آن را به عدد صحیح بدون علامت ۳۲ بیتی تبدیل کند و تفسیر مناسب را براساس پارامتر پایه اعمال میکند.
|
ParseInt(const char *str, int32_t & output)
|
bool
تجزیه و تلاش برای تبدیل رشتهای که بهعنوان مقدار دهدهی تفسیر شده است به عدد صحیح علامتدار ۳۲ بیتی، با اعمال تفسیر مناسب براساس پارامتر پایه.
|
ParseInt(const char *str, uint16_t & output)
|
bool
رشتهای را که بهعنوان مقدار دهدهی تفسیر شده است تجزیه میکند و تلاش میکند آن را به عدد صحیح بدون علامت ۱۶ بیتی تبدیل کند و تفسیر مناسب را براساس پارامتر پایه اعمال میکند.
|
ParseInt(const char *str, int16_t & output)
|
bool
رشتهای را که بهعنوان مقدار دهدهی تفسیر شده است تجزیه میکند و تلاش میکند آن را به عدد صحیح علامتدار ۱۶ بیتی تبدیل کند و تفسیر مناسب را براساس پارامتر پایه اعمال میکند.
|
ParseInt(const char *str, uint8_t & output)
|
bool
رشتهای را که بهعنوان مقدار اعشاری تفسیر شده است تجزیه میکند و تلاش میکند آن را به عدد صحیح بدون علامت ۸ بیتی تبدیل کند و تفسیر مناسب را براساس پارامتر پایه اعمال میکند.
|
ParseNodeId(const char *str, uint64_t & nodeId)
|
bool
شناسه گره Weave را در قالب نوشتار تجزیه میکند.
|
ParseSubnetId(const char *str, uint16_t & subnetId)
|
bool
تجزیه و تلاش برای تبدیل رشته به شناسه زیرشبکه ۱۶ بیتی بدون علامت، با تفسیر رشته بهعنوان شانزدهشانزدهی.
|
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:: |
OptionSet رایج برای مدیریت گزینههای اطلاعاتی (راهنما، نسخه). |
|
nl:: |
OptionSet که در آن گرداننده یک تابع مجازی است. |
ساختارها |
|
|---|---|
|
nl:: |
گزینه خط فرمان را تعریف میکند. |
|
nl:: |
گروهی از گزینههای خط فرمان مرتبط منطقی و قابلاستفاده مجدد را تعریف میکند. |
فهرستها
OptionArgumentType
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
فهرست OptionSets به تماس ParseArgs() فعال کنونی منتقل شد.
وقتی هیچ تماسی با ParseArgs() درحال انجام نباشد، این مقدار NULL خواهد بود.
توابع
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, ... )
پیام خطای مرتبط با تجزیه آرگومان را چاپ کنید.
تابع پیشفرض مورداستفاده برای چاپ پیامهای خطایی که بهدلیل تجزیه متغیرهای مستقل بهوجود میآیند.
| جزئیات | |||
|---|---|---|---|
| پارامترها |
|
||
برنامهها باید ازطریق اشارهگر تابع PrintArgError فراخوانی کنند، نه اینکه این تابع را مستقیماً فراخوانی کنند.
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 )
مجموعهای از آرگومانهای سبک خط فرمان را تجزیه میکند و توابع مدیریت را برای پردازش هر گزینه و آرگومان غیرگزینهای فراخوانی میکند.
ParseArgs() فهرستی از آرگومانها (argv) را میگیرد و آنها را براساس مجموعهای از تعاریف گزینه ارائهشده تجزیه میکند. این تابع از هر دو گزینه طولانی (opt) و کوتاه (-o) پشتیبانی میکند و همان نحو گزینه تابع GNU getopt_long(3) را پیادهسازی میکند.
| جزئیات | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| پارامترها |
|
||||||||||||
| کالاهای مرجوعی |
true اگر همه گزینهها و آرگومانهای غیرگزینهای با موفقیت تجزیه شده باشند؛ false اگر گزینهای تشخیص داده نشده باشد یا یکی از توابع گرداننده ناموفق بوده باشد (یعنی مقدار نادرست برگردانده باشد). |
||||||||||||
تعاریف گزینه بهعنوان آرایهای از ساختارهای OptionSet (optSets) به ParseArgs() ارسال میشوند. هر OptionSet حاوی آرایهای از تعاریف گزینه و یک تابع گرداننده است. ParseArgs() آرگومانهای گزینه را به ترتیب دادهشده پردازش میکند و تابع گرداننده مربوطه را برای هر گزینه شناساییشده فراخوانی میکند. وقتی همه گزینهها تجزیه شدند، یک تابع گرداننده غیرگزینهای جداگانه (nonOptArgHandler) یکبار فراخوانی میشود تا هر آرگومان باقیمانده را پردازش کند.
مجموعههای گزینه
OptionSet حاوی مجموعهای از تعاریف گزینه بههمراه اشارهگری به تابع کنترلکننده است که هنگام مواجهه با یکی از گزینههای مرتبط فراخوانده میشود. مجموعههای گزینه همچنین حاوی نوشتار راهنمایی هستند که نحو و هدف هر گزینه را شرح میدهد (به «راهنمای گزینه» در زیر مراجعه کنید). مجموعههای گزینه برای ایجاد مجموعههای بازکاربردپذیر از گزینههای مرتبط طراحی شدهاند. این کار تلاش لازم برای نگهداری چندین برنامه را که گزینههای مشابهی را میپذیرند (مثلاً برنامههای آزمایشی) ساده میکند.
دو الگو برای تعریف OptionSet وجود دارد: میتوان نمونهای از ساختار OptionSet را مقداردهی اولیه کرد، مثلاً بهعنوان یک سراسری ایستا، یا زیرکلاس OptionSetBase و ارائه یک سازنده. مورد دوم از تابع مجازی خالص HandleOption() برای واگذاری مدیریت گزینه به زیرکلاس استفاده میکند.
فهرستهای OptionSets بهعنوان آرایهای از اشارهگرها با پایان NULL به تابع ParseArgs() ارسال میشوند. 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))
{
...
}
}تعاریف گزینه
گزینهها بااستفاده از ساختار OptionDef تعریف میشوند. تعاریف گزینه بهصورت آرایهای از عناصر OptionDef سازماندهی شدهاند، که هر عنصر شامل موارد زیر است: نام گزینه، شناسه عدد صحیحی که برای شناسایی گزینه استفاده میشود، و اینکه آیا گزینه انتظار آرگومان دارد یا اجازه آن را میدهد. پایان آرایه گزینه با فیلد «نام» 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 } };
شناسههای گزینه
شناسههای گزینه، گزینهها را برای کدی که آنها را مدیریت میکند (تابع OptionHandler) شناسایی میکنند. شناسههای گزینه نسبت به OptionSet که در آن ظاهر میشوند، هستند و بنابراین ممکن است در OptionSetهای مختلف دوباره استفاده شوند (اما به «گزینههای کوتاه» در زیر مراجعه کنید). قرارداد معمول این است که شمارهگذاری شناسههای گزینه از ۱۰۰۰ شروع شود، اما هر عددی بزرگتر از ۱۲۸ میتواند استفاده شود. گزینههای نام مستعار را میتوان بااستفاده از شناسه گزینه یکسان با نامهای گزینه متفاوت ایجاد کرد.
گزینههای کوتاه
برخلاف getopt_long(3)، ParseArgs() رشته جداگانهای را که فهرست نویسههای گزینه کوتاه را مشخص میکند دریافت نمیکند. بلکه هر گزینهای که مقدار شناسه آن در محدوده نویسههای گرافیکی ASCII قرار گیرد، اجازه میدهد از آن نویسه بهعنوان گزینه کوتاه استفاده شود.
ParseArgs() مستلزم این است که نویسههای گزینه کوتاه در همه OptionSets منحصربهفرد باشند. به همین دلیل، استفاده از گزینههای کوتاه برای هر OptionSets که بین برنامهها همرسانی میشود بهدلیل احتمال بالای تداخل توصیه نمیشود. نویسههای گزینههای کوتاه ممکن است در یک OptionSet مجدداً استفاده شوند تا امکان ایجاد نامهای گزینه طولانی مستعار فراهم شود.
راهنمای گزینه
هر OptionSet حاوی رشته OptionHelp است که هدف و نحو گزینههای مرتبط را شرح میدهد. این رشتهها توسط تابع PrintOptionHelp() برای تولید اطلاعات استفاده از گزینه استفاده میشوند.
طبق قرارداد، رشتههای راهنمای گزینه شامل یک مثال نحوی است که بهدنبال آن شرح متنی گزینه میآید. اگر گزینه نسخه کوتاهی داشته باشد، یا نام مستعار، قبلاز نام طولانی اصلی ارائه میشود. برای سازگاری، خطوط نحو با ۲ فاصله تورفتگی دارند، درحالیکه خطوط شرح با ۷ فاصله تورفتگی دارند. یک خط خالی بعداز توضیحات هر گزینه، ازجمله گزینه آخر، قرار دارد.
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";
گروههای راهنمایی اختیاری
OptionSets حاوی رشته HelpGroupName است که برای گروهبندی گزینهها در خروجی راهنما استفاده میشود. تابع PrintOptionHelp() از HelpGroupName بهعنوان عنوان بخش در برونداد استفاده تولیدشده استفاده میکند. اگر چند OptionSet دارای HelpGroupName یکسان باشند، PrintOptionHelp() راهنمای گزینه را برای OptionSetهای مختلف باهم تحت عنوان بخش مشترک چاپ میکند.
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 )
مجموعهای از متغیرهای مستقل را از متغیر محیطی نامگذاریشده تجزیه کنید.
ParseArgsFromEnvVar() متغیر محیطی نامگذاریشدهای را میخواند و مقدار را برای تجزیه به ParseArgsFromString() ارسال میکند. اگر متغیر محیطی تنظیم نشده باشد، تابع کاری انجام نمیدهد.
| جزئیات | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| پارامترها |
|
||||||||||
| کالاهای مرجوعی |
true اگر همه گزینهها و آرگومانهای غیرگزینهای با موفقیت تجزیه شده باشند، یا اگر متغیر محیطی مشخصشده تنظیم نشده باشد؛ 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 تجزیه میکند.
| جزئیات | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| پارامترها |
|
||||||||||
| کالاهای مرجوعی |
true اگر همه گزینهها و آرگومانهای غیرگزینهای با موفقیت تجزیه شده باشند؛ false اگر گزینهای تشخیص داده نشده باشد، اگر یکی از توابع گرداننده ناموفق بوده باشد (یعنی مقدار نادرست برگردانده باشد)، یا اگر خطای داخلی رخ داده باشد. |
||||||||||
نحو رشتههای ورودی مشابه نحو فرمان پوسته unix است، اما با طرح نقلقول سادهشده. بهطور دقیق:
- آرگومانها با فاصله سفید از هم جدا میشوند، مگراینکه فاصله سفید در گیومه باشد یا از آن گریز شده باشد.
- واکجخط نویسه بعدی را گریز میدهد و باعث میشود بهعنوان نویسه معمولی درنظر گرفته شود. خود واکجخط حذف میشود.
- علامت نقلقول تکی یا دوتایی شروع/پایان رشتههای فرعی نقلقولشده است. در رشته فرعی، تنها نویسههای خاص واکجخط هستند که نویسه بعدی را گریز میدهد و نقلقول پایانی مربوطه. نویسههای نقلقول ابتدا/انتها حذف میشوند.
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 )
تجزیه رشته بهعنوان مقدار بولی.
این تابع مقادیر ورودی زیر را میپذیرد (به حروف بزرگ و کوچک حساس نیست): «true»، «yes»، «t»، «y»، «1»، «false»، «no»، «f»، «n»، «0».
| جزئیات | |||||
|---|---|---|---|---|---|
| پارامترها |
|
||||
| کالاهای مرجوعی |
درصورت موفقیت، true و درصورت شکست، false.
|
||||
ParseFabricId
bool ParseFabricId( const char *str, uint64_t & fabricId, bool allowReserved )
شناسه پارچه Weave را در قالب نوشتار تجزیه کنید.
تابع ParseFabricId() شناسه فابریک ۶۴ بیتی ارائهشده در قالب هگزادسیمال را با یا بدون «0x» در ابتدا میپذیرد.
| جزئیات | |||||||
|---|---|---|---|---|---|---|---|
| پارامترها |
|
||||||
| کالاهای مرجوعی |
اگر مقدار با موفقیت تجزیه شده باشد، درست است؛ در غیر این صورت، نادرست است.
|
||||||
ParseHexString
bool ParseHexString( const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen )
رشتهای از بایتها را که بهصورت شانزدهشانزدهی ارائه شده است تجزیه میکند.
ParseHexString() انتظار دارد ورودی بهصورت جفتهای ارقام شانزدهشانزدهی (حروف بزرگ یا کوچک) باشد. جفتهای هگزادیسیمال را میتوان بهصورت اختیاری با هریک از نویسههای زیر جدا کرد: دونقطه، نقطهویرگول، ویرگول، نقطه، یا خط تیره. علاوهبراین، نویسههای فاصله سفید در هرجای رشته ورودی نادیده گرفته میشوند.
| جزئیات | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| پارامترها |
|
||||||||||
| کالاهای مرجوعی |
اگر مقدار باموفقیت تجزیه شده باشد درست است؛ اگر دادههای ورودی بدشکل باشد یا اگر
outBuf خیلی کوچک باشد نادرست است. |
||||||||||
ParseIPAddress
bool ParseIPAddress( const char *str, IPAddress & output )
نشانی IP را در قالب نوشتار تجزیه کنید.
| جزئیات | |||||
|---|---|---|---|---|---|
| پارامترها |
|
||||
| کالاهای مرجوعی |
اگر مقدار با موفقیت تجزیه شده باشد، درست است؛ در غیر این صورت، نادرست است.
|
||||
ParseInt
bool ParseInt( const char *str, uint64_t & output, int base )
تجزیه و تلاش برای تبدیل رشته به عدد صحیح بدون علامت ۶۴ بیتی، با اعمال تفسیر مناسب براساس پارامتر پایه.
| جزئیات | |||||||
|---|---|---|---|---|---|---|---|
| پارامترها |
|
||||||
| کالاهای مرجوعی |
درصورت موفقیت، true و درصورت شکست، false.
|
||||||
ParseInt
bool ParseInt( const char *str, uint32_t & output, int base )
تجزیه و تلاش برای تبدیل رشته به عدد صحیح بدون علامت ۳۲ بیتی، با اعمال تفسیر مناسب براساس پارامتر پایه.
| جزئیات | |||||||
|---|---|---|---|---|---|---|---|
| پارامترها |
|
||||||
| کالاهای مرجوعی |
درصورت موفقیت، true و درصورت شکست، false.
|
||||||
ParseInt
bool ParseInt( const char *str, int32_t & output, int base )
رشتهای را تجزیه میکند و تلاش میکند آن را به عدد صحیح علامتدار ۳۲ بیتی تبدیل کند و تفسیر مناسب را براساس پارامتر پایه اعمال میکند.
| جزئیات | |||||||
|---|---|---|---|---|---|---|---|
| پارامترها |
|
||||||
| کالاهای مرجوعی |
درصورت موفقیت، true و درصورت شکست، false.
|
||||||
ParseInt
bool ParseInt( const char *str, uint64_t & output )
رشتهای را که بهعنوان مقدار اعشاری تفسیر شده است تجزیه میکند و تلاش میکند آن را به عدد صحیح بدون علامت ۶۴ بیتی تبدیل کند و تفسیر مناسب را براساس پارامتر پایه اعمال میکند.
| جزئیات | |||||
|---|---|---|---|---|---|
| پارامترها |
|
||||
| کالاهای مرجوعی |
درصورت موفقیت، true و درصورت شکست، false.
|
||||
ParseInt
bool ParseInt( const char *str, uint32_t & output )
رشتهای را که بهعنوان مقدار اعشاری تفسیر شده است تجزیه میکند و تلاش میکند آن را به عدد صحیح بدون علامت ۳۲ بیتی تبدیل کند و تفسیر مناسب را براساس پارامتر پایه اعمال میکند.
| جزئیات | |||||
|---|---|---|---|---|---|
| پارامترها |
|
||||
| کالاهای مرجوعی |
درصورت موفقیت، true و درصورت شکست، false.
|
||||
ParseInt
bool ParseInt( const char *str, int32_t & output )
تجزیه و تلاش برای تبدیل رشتهای که بهعنوان مقدار دهدهی تفسیر شده است به عدد صحیح علامتدار ۳۲ بیتی، با اعمال تفسیر مناسب براساس پارامتر پایه.
| جزئیات | |||||
|---|---|---|---|---|---|
| پارامترها |
|
||||
| کالاهای مرجوعی |
درصورت موفقیت، true و درصورت شکست، false.
|
||||
ParseInt
bool ParseInt( const char *str, uint16_t & output )
رشتهای را که بهعنوان مقدار دهدهی تفسیر شده است تجزیه میکند و تلاش میکند آن را به عدد صحیح بدون علامت ۱۶ بیتی تبدیل کند و تفسیر مناسب را براساس پارامتر پایه اعمال میکند.
| جزئیات | |||||
|---|---|---|---|---|---|
| پارامترها |
|
||||
| کالاهای مرجوعی |
درصورت موفقیت، true و درصورت شکست، false.
|
||||
ParseInt
bool ParseInt( const char *str, int16_t & output )
رشتهای را که بهعنوان مقدار دهدهی تفسیر شده است تجزیه میکند و تلاش میکند آن را به عدد صحیح علامتدار ۱۶ بیتی تبدیل کند و تفسیر مناسب را براساس پارامتر پایه اعمال میکند.
| جزئیات | |||||
|---|---|---|---|---|---|
| پارامترها |
|
||||
| کالاهای مرجوعی |
درصورت موفقیت، true و درصورت شکست، false.
|
||||
ParseInt
bool ParseInt( const char *str, uint8_t & output )
رشتهای را که بهعنوان مقدار اعشاری تفسیر شده است تجزیه میکند و تلاش میکند آن را به عدد صحیح بدون علامت ۸ بیتی تبدیل کند و تفسیر مناسب را براساس پارامتر پایه اعمال میکند.
| جزئیات | |||||
|---|---|---|---|---|---|
| پارامترها |
|
||||
| کالاهای مرجوعی |
درصورت موفقیت، true و درصورت شکست، false.
|
||||
ParseNodeId
bool ParseNodeId( const char *str, uint64_t & nodeId )
شناسه گره Weave را در قالب نوشتار تجزیه میکند.
تابع ParseNodeId() یا شناسه گره ۶۴ بیتی ارائهشده در قالب هگز (با یا بدون «0x» در ابتدا) را میپذیرد یا کلمات «any» یا «all» را که بهمعنای شناسه گره Any (0xFFFFFFFFFFFFFFFF) تفسیر میشوند.
| جزئیات | |||||
|---|---|---|---|---|---|
| پارامترها |
|
||||
| کالاهای مرجوعی |
اگر مقدار با موفقیت تجزیه شده باشد، درست است؛ در غیر این صورت، نادرست است.
|
||||
ParseSubnetId
bool ParseSubnetId( const char *str, uint16_t & subnetId )
تجزیه و تلاش برای تبدیل رشته به شناسه زیرشبکه ۱۶ بیتی بدون علامت، با تفسیر رشته بهعنوان شانزدهشانزدهی.
| جزئیات | |||||
|---|---|---|---|---|---|
| پارامترها |
|
||||
| کالاهای مرجوعی |
درصورت موفقیت، true و درصورت شکست، false.
|
||||
PrintOptionHelp
void PrintOptionHelp( OptionSet *optSets[], FILE *s )
نوشتار راهنما را برای فهرست مشخصی از گزینهها در یک جریان چاپ کنید.
| جزئیات | |||||
|---|---|---|---|---|---|
| پارامترها |
|
||||
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 )