nl:: ArgParser
خلاصه
شمارش ها | |
---|---|
OptionArgumentType | enum الزامات آرگومان را برای یک گزینه خط فرمان تعریف می کند. |
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 تجزیه و تلاش برای تبدیل یک رشته به یک عدد صحیح بدون علامت 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 را به صورت متنی تجزیه کنید. |
ParseSubnetId (const char *str, uint16_t & subnetId) | bool تجزیه و تلاش برای تبدیل یک رشته به یک شناسه زیرشبکه بدون علامت 16 بیتی، رشته را به صورت هگزادسیمال تفسیر کنید. |
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 | Common OptionSet برای مدیریت گزینه های اطلاعاتی (راهنما، نسخه). |
nl:: ArgParser:: OptionSetBase | یک OptionSet که در آن کنترل کننده یک تابع مجازی است. |
سازه ها | |
---|---|
nl:: ArgParser:: OptionDef | یک گزینه خط فرمان را تعریف می کند. |
nl:: ArgParser:: OptionSet | گروهی از گزینه های خط فرمان مرتبط با منطق و قابل استفاده مجدد را تعریف می کند. |
شمارش ها
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) پشتیبانی می کند و همان نحو گزینه را به عنوان تابع getopt_long(3) گنو پیاده سازی می کند.
جزئیات | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||||
برمی گرداند | true اگر همه آرگومانهای گزینهها و غیرگزینهها با موفقیت تجزیه شوند. اگر گزینه ای شناسایی نشده باشد یا یکی از عملکردهای کنترل کننده شکست بخورد (یعنی false برگردانده شود)، false . |
تعاریف گزینه به عنوان آرایه ای از ساختارهای OptionSet ( optSets
) به ParseArgs () منتقل می شود. هر OptionSet شامل آرایه ای از تعاریف گزینه و یک تابع handler است. ParseArgs () آرگومان های گزینه را به ترتیب داده شده پردازش می کند و تابع handler مربوطه را برای هر گزینه شناسایی شده فراخوانی می کند. هنگامی که همه گزینه ها تجزیه شدند، یک تابع کنترل کننده غیر گزینه جداگانه ( nonOptArgHandler
) یک بار برای پردازش هر آرگومان باقی مانده فراخوانی می شود.
مجموعه گزینه ها
یک OptionSet شامل مجموعه ای از تعاریف گزینه به همراه یک اشاره گر به یک تابع کنترل کننده است که در صورت مواجهه با یکی از گزینه های مرتبط فراخوانی می شود. مجموعههای گزینهها همچنین حاوی متن راهنما هستند که نحو و هدف هر گزینه را توصیف میکند (به OPTION HELP زیر مراجعه کنید). مجموعههای گزینهای طراحی شدهاند تا امکان ایجاد مجموعههای قابل استفاده مجدد از گزینههای مرتبط را فراهم کنند. این امر تلاش لازم برای حفظ چندین برنامه کاربردی را که گزینه های مشابه را می پذیرند (مانند برنامه های آزمایشی) ساده می کند.
دو الگو برای تعریف OptionSetsone وجود دارد که میتواند نمونهای از خود ساختار OptionSet را مقداردهی اولیه کند، مثلاً بهعنوان یک جهانی استاتیک، یا زیر کلاس OptionSetBase و سازنده ارائه کند. دومی از یک تابع مجازی HandleOption()
برای واگذاری مدیریت گزینه به زیر کلاس استفاده می کند.
لیستی از OptionSets به تابع ParseArgs () به عنوان یک آرایه با پایان NULL از اشاره گرها ارسال می شود. به عنوان مثال:
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 } };
OPTION IDS
شناسههای گزینه، گزینههای کدی را که آنها را مدیریت میکند، شناسایی میکنند (عملکرد OptionHandler). شناسههای گزینه نسبت به OptionSet که در آن ظاهر میشوند هستند، و بنابراین ممکن است در OptionSetهای مختلف مجدداً مورد استفاده قرار گیرند (اما به گزینههای کوتاه در زیر مراجعه کنید). قرارداد معمول این است که شماره گذاری شناسه های گزینه را از 1000 شروع کنیم، با این حال می توان از هر عدد > 128 استفاده کرد. گزینه های مستعار را می توان با استفاده از همان شناسه گزینه با نام گزینه های مختلف ایجاد کرد.
گزینه های کوتاه
برخلاف getopt_long(3)، ParseArgs() یک رشته مجزا برای تعیین لیست کاراکترهای گزینه کوتاه نمی گیرد. در عوض، هر گزینه ای که مقدار شناسه آن در محدوده کاراکترهای ASCII گرافیکی قرار می گیرد، به آن کاراکتر اجازه می دهد تا به عنوان یک گزینه کوتاه استفاده شود.
ParseArgs () مستلزم آن است که کاراکترهای گزینه کوتاه در تمام OptionSets منحصر به فرد باشند. به همین دلیل، استفاده از گزینههای کوتاه برای هر OptionSet که در بین برنامهها به اشتراک گذاشته میشود، به دلیل احتمال زیاد برخورد، ممنوع است. کاراکترهای گزینه های کوتاه ممکن است در یک OptionSet مورد استفاده مجدد قرار گیرند تا امکان ایجاد نام های طولانی نام مستعار گزینه ها فراهم شود.
OPTION HELP
هر 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";
OPTION HELP GROUPS
OptionSets شامل یک رشته HelpGroupName
است که برای گروه بندی گزینه ها با هم در خروجی راهنما استفاده می شود. تابع PrintOptionHelp()
از HelpGroupName به عنوان عنوان بخش در خروجی استفاده تولید شده استفاده می کند. اگر چندین OptionSet HelpGroupName یکسان داشته باشند، PrintOptionHelp() راهنمای گزینه را برای OptionSets مختلف با هم تحت عنوان بخش مشترک چاپ می کند.
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 . |
نحو رشته های ورودی مشابه دستورات پوسته یونیکس است، اما با یک طرح نقل قول ساده شده است. به طور مشخص:
- آرگومانها با فضای سفید محدود میشوند، مگر اینکه فضای سفید نقلقول یا خارج شده باشد.
- یک بک اسلش از کاراکتر زیر فرار می کند و باعث می شود که به عنوان یک کاراکتر عادی در نظر گرفته شود. خود اسلش پاک شده است.
- نقلقولهای تکی یا دوگانه، زیررشتههای نقلشده را شروع/پایان میدهند. در یک رشته فرعی، تنها کاراکترهای خاص عبارتند از بک اسلش که از کاراکتر بعدی و نقل قول انتهایی مربوطه فرار می کند. کاراکترهای نقل قول شروع/پایان حذف می شوند.
به عنوان مثال:
--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 )
یک رشته را به عنوان مقدار بولی تجزیه کنید.
این تابع مقادیر ورودی زیر را میپذیرد (بدون حساسیت): "true"، "yes"، "t"، "y"، "1"، "false"، "no"، "f"، "n"، " 0".
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
برمی گرداند | درست در مورد موفقیت؛ در غیر این صورت، نادرست در مورد شکست. |
ParseFabricId
bool ParseFabricId( const char *str, uint64_t & fabricId, bool allowReserved )
شناسه پارچه Weave را به صورت متنی تجزیه کنید.
تابع ParseFabricId() یک شناسه فابریک 64 بیتی ارائه شده در فرمت هگز، با یا بدون «0x» پیشرو را می پذیرد.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
پارامترها |
| ||||||
برمی گرداند | درست است اگر مقدار با موفقیت تجزیه شود. نادرست اگر نه |
ParseHexString
bool ParseHexString( const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen )
رشته ای از بایت های داده شده به شکل هگز را تجزیه کنید.
ParseHexString () انتظار دارد ورودی به شکل جفت ارقام هگز (حروف بزرگ یا کوچک) باشد. جفتهای هگز را میتوان بهصورت اختیاری با هر یک از کاراکترهای زیر از هم جدا کرد: دو نقطه، نقطه ویرگول، کاما، نقطه یا خط تیره. علاوه بر این، کاراکترهای فضای خالی در هر نقطه از رشته ورودی نادیده گرفته می شوند.
جزئیات | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||||
برمی گرداند | درست است اگر مقدار با موفقیت تجزیه شود. اگر داده ورودی نادرست باشد، یا اگر outBuf خیلی کوچک باشد، false است. |
آدرس ParseIPA
bool ParseIPAddress( const char *str, IPAddress & output )
یک آدرس IP را به صورت متنی تجزیه کنید.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
برمی گرداند | درست است اگر مقدار با موفقیت تجزیه شود. نادرست اگر نه |
ParseInt
bool ParseInt( const char *str, uint64_t & output, int base )
تجزیه و تلاش برای تبدیل یک رشته به یک عدد صحیح بدون علامت 64 بیتی، با اعمال تفسیر مناسب بر اساس پارامتر پایه.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
پارامترها |
| ||||||
برمی گرداند | درست در مورد موفقیت؛ در غیر این صورت، نادرست در مورد شکست. |
ParseInt
bool ParseInt( const char *str, uint32_t & output, int base )
تجزیه و تلاش برای تبدیل یک رشته به یک عدد صحیح بدون علامت 32 بیتی، با اعمال تفسیر مناسب بر اساس پارامتر پایه.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
پارامترها |
| ||||||
برمی گرداند | درست در مورد موفقیت؛ در غیر این صورت، نادرست در مورد شکست. |
ParseInt
bool ParseInt( const char *str, int32_t & output, int base )
تجزیه و تلاش برای تبدیل یک رشته به یک عدد صحیح امضا شده 32 بیتی، با اعمال تفسیر مناسب بر اساس پارامتر پایه.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
پارامترها |
| ||||||
برمی گرداند | درست در مورد موفقیت؛ در غیر این صورت، نادرست در مورد شکست. |
ParseInt
bool ParseInt( const char *str, uint64_t & output )
تجزیه و تلاش برای تبدیل رشته تفسیر شده به عنوان یک مقدار اعشاری به یک عدد صحیح بدون علامت 64 بیتی، با اعمال تفسیر مناسب بر اساس پارامتر پایه.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
برمی گرداند | درست در مورد موفقیت؛ در غیر این صورت، نادرست در مورد شکست. |
ParseInt
bool ParseInt( const char *str, uint32_t & output )
تجزیه و تلاش برای تبدیل رشته تفسیر شده به عنوان یک مقدار اعشاری به یک عدد صحیح بدون علامت 32 بیتی، با اعمال تفسیر مناسب بر اساس پارامتر پایه.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
برمی گرداند | درست در مورد موفقیت؛ در غیر این صورت، نادرست در مورد شکست. |
ParseInt
bool ParseInt( const char *str, int32_t & output )
تجزیه و تلاش برای تبدیل رشته ای که به عنوان یک مقدار اعشاری تفسیر می شود به یک عدد صحیح امضا شده 32 بیتی، با اعمال تفسیر مناسب بر اساس پارامتر پایه.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
برمی گرداند | درست در مورد موفقیت؛ در غیر این صورت، نادرست در مورد شکست. |
ParseInt
bool ParseInt( const char *str, uint16_t & output )
تجزیه و تلاش برای تبدیل رشته تفسیر شده به عنوان یک مقدار اعشاری به یک عدد صحیح بدون علامت 16 بیتی، با اعمال تفسیر مناسب بر اساس پارامتر پایه.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
برمی گرداند | درست در مورد موفقیت؛ در غیر این صورت، نادرست در مورد شکست. |
ParseInt
bool ParseInt( const char *str, int16_t & output )
تجزیه و تلاش برای تبدیل رشته ای که به عنوان یک مقدار اعشاری تفسیر می شود به یک عدد صحیح امضا شده 16 بیتی، با اعمال تفسیر مناسب بر اساس پارامتر پایه.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
برمی گرداند | درست در مورد موفقیت؛ در غیر این صورت، نادرست در مورد شکست. |
ParseInt
bool ParseInt( const char *str, uint8_t & output )
تجزیه و تلاش برای تبدیل رشته تفسیر شده به عنوان یک مقدار اعشاری به یک عدد صحیح بدون علامت 8 بیتی، با اعمال تفسیر مناسب بر اساس پارامتر پایه.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
برمی گرداند | درست در مورد موفقیت؛ در غیر این صورت، نادرست در مورد شکست. |
ParseNodeId
bool ParseNodeId( const char *str, uint64_t & nodeId )
شناسه گره Weave را به صورت متنی تجزیه کنید.
تابع ParseNodeId() شناسه گره 64 بیتی را می پذیرد که در قالب هگز (با یا بدون "0x" اصلی) یا کلمات "any" یا "all" را می پذیرد که به معنای شناسه هر گره (0xFFFFFFFFFFFFFFFFFFFF) تفسیر می شوند. .
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
برمی گرداند | درست است اگر مقدار با موفقیت تجزیه شود. نادرست اگر نه |
ParseSubnetId
bool ParseSubnetId( const char *str, uint16_t & subnetId )
تجزیه و تلاش برای تبدیل یک رشته به یک شناسه زیرشبکه بدون علامت 16 بیتی، رشته را به صورت هگزادسیمال تفسیر کنید.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
| ||||
برمی گرداند | درست در مورد موفقیت؛ در غیر این صورت، نادرست در مورد شکست. |
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 )
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. The OPENTHREAD and related marks are trademarks of the Thread Group and are used under license.
تاریخ آخرین بهروزرسانی 2024-11-14 بهوقت ساعت هماهنگ جهانی.