nl:: ArgParser
ملخّص
عمليات التعداد |
|
---|---|
OptionArgumentType
|
تعداد تحدد متطلبات الوسيطة لخيار سطر الأوامر. |
تعريف الأنواع |
|
---|---|
NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[])
|
تعريف الكتابةbool(*
دالة يمكن استدعاؤها للتعامل مع أي وسيطات سطر أوامر متبقية غير خيارات. |
OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg)
|
تعريف الكتابةbool(*
يشير ذلك المصطلح إلى دالة يمكن استدعاؤها للتعامل مع مجموعة من خيارات سطر الأوامر. |
المتغيرات |
|
---|---|
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:: |
OptionSet الشائعة للتعامل مع خيارات المعلومات (المساعدة والإصدار). |
nl:: |
OptionSet حيث يكون المعالج دالة افتراضية. |
بُنى |
|
---|---|
nl:: |
يحدد خيار سطر الأوامر. |
nl:: |
تحدد مجموعة من خيارات سطر الأوامر القابلة لإعادة الاستخدام وترتبط منطقيًا. |
عمليات التعداد
OptionArgumentType
OptionArgumentType
تحدد متطلبات الوسيطة لخيار سطر الأوامر.
تعريف الأنواع
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() النشط حاليًا.
ستكون هذه القيمة "NULL" (فارغة) في حال عدم توفّر استدعاء لـ ParseArgs() .
الدوال
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) GNU.
التفاصيل | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||||||
المرتجعات |
true إذا تم تحليل جميع الوسيطات التي لا تتضمّن خيارات بنجاح؛ false إذا لم يتم التعرّف على أحد الخيارات أو إذا تعذّرت إحدى دوال المعالِج (أي تم عرض خطأ) |
يتم تمرير تعريفات الخيارات إلى ParseArgs() كمصفوفة من بُنى OptionSet (optSets
). تحتوي كل OptionSet على مجموعة من تعريفات الخيارات ودالة معالج. يعالج ParseArgs() وسيطات الخيارات بالترتيب المحدد، ويستدعي دالة المعالج المعنية لكل خيار معروف. بعد تحليل جميع الخيارات، يتم استدعاء دالة معالج منفصلة غير خيارات (nonOptArgHandler
) مرة واحدة لمعالجة أي وسيطات متبقية.
مجموعات الخيارات
تحتوي OptionSet على مجموعة من تعريفات الخيارات إلى جانب مؤشر إلى دالة معالج سيتم استدعاؤها عند مواجهة أحد الخيارات المرتبطة. تحتوي مجموعات الخيارات أيضًا على نص تعليمات يصف بناء الجملة والغرض من كل خيار (انظر مساعدة الخيار أدناه). تم تصميم مجموعات الخيارات للسماح بإنشاء مجموعات قابلة لإعادة الاستخدام من الخيارات ذات الصلة. ويؤدي ذلك إلى تسهيل الجهود اللازمة للحفاظ على تطبيقات متعددة تقبل خيارات مشابهة (مثل التطبيقات التجريبية).
هناك نمطان لتعريف OptionSetsone الذين يمكنهم إما تهيئة مثيل لهيكل OptionSet نفسه، على سبيل المثال: باعتبارها دالة عمومية ثابتة، أو فئة فرعية OptionSetBase وتوفير دالة إنشائية. تستخدم الطريقة الثانية دالة HandleOption()
افتراضية بحتة لتفويض معالجة الخيارات إلى الفئة الفرعية.
يتم تمرير قوائم OptionSets إلى الدالة 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، حيث يحتوي كل عنصر على: اسم الخيار، ورقم تعريف عدد صحيح يُستخدم لتحديد الخيار، وما إذا كان الخيار يتوقع أو يسمح بوسيطة. تتم الإشارة إلى نهاية صفيف الخيارات من خلال حقل "اسم فارغ". 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 التي تظهر فيها، وبالتالي يمكن إعادة استخدامها عبر OptionSets المختلفة (ومع ذلك يمكنك الاطلاع على SHORT OPTIONS أدناه). الطريقة الشائعة هي بدء أرقام تعريف خيارات الترقيم عند 1000، ولكن أي رقم > والعدد 128. يمكن إنشاء خيارات الأسماء المستعارة باستخدام معرّف الخيار نفسه مع أسماء خيارات مختلفة.
خيارات قصيرة
على عكس getopt_long(3)، لا يأخذ ParseArgs() سلسلة منفصلة تحدد قائمة أحرف الخيار القصيرة. بدلاً من ذلك، سيسمح أي خيار تقع قيمة المعرف له في نطاق أحرف ASCII الرسومية باستخدام ذلك الحرف كخيار قصير.
تتطلب ParseArgs() أن تكون أحرف الخيارات القصيرة فريدة في جميع OptionSets. ولهذا السبب، لا يُنصح باستخدام خيارات قصيرة لأي مجموعة OptionSets تتم مشاركتها عبر البرامج نظرًا لاحتمالية حدوث تصادمات. ويمكن إعادة استخدام أحرف الخيارات القصيرة داخل عنصر OptionSet واحد للسماح بإنشاء أسماء خيارات طويلة بديلة.
مساعدة بشأن الخيار
تحتوي كل OptionSet على سلسلة OptionHelp
التي تصف الغرض من الخيارات المرتبطة وبنيتها. تستخدم الدالة PrintOptionHelp()
هذه السلاسل لإنشاء معلومات استخدام الخيار.
من خلال الاصطلاح، تتكون السلاسل التي تساعد على الخيار من مثال بناء جملة يتبعه وصف نصي للخيار. إذا كان الخيار يتضمن نسخة قصيرة أو اسم مستعار، سيتم إعطاؤه قبل الاسم الطويل الأساسي. لتحقيق الاتساق، يتم وضع مسافة بادئة إلى سطور البنية بمسافتين، بينما يتم وضع مسافة بادئة بأسطر الوصف مع 7 مسافات. يتبع سطر فارغ واحد وصف كل خيار، بما في ذلك الوصف الأخير.
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 كعنوان قسم في ناتج الاستخدام الذي تم إنشاؤه. إذا كانت مجموعة OptionSets تحتوي على نفس 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 إذا لم يتم التعرّف على أحد الخيارات، أو في حال تعذّرت إحدى دوال المعالِج (أي تم إرجاعها عن طريق الخطأ) أو في حال حدوث خطأ داخلي. |
يشبه بناء جملة سلاسل الإدخال بناء جملة أمر يونكس شل، ولكن مع مخطط اقتباس مبسط. وهذه القيود تحديدًا هي كالآتي:
- يتم فصل الوسيطات بمسافة بيضاء، ما لم يتم وضع علامة اقتباس أو إلغاء في المسافة البيضاء.
- تلغي الشرطة المائلة للخلف الحرف التالي، ما يؤدي إلى التعامل معه كحرف عادي. وتتم إزالة الشرطة المائلة للخلف نفسها.
- علامات الاقتباس المفردة أو المزدوجة تبدأ/نهاية سلاسل فرعية ذات علامتَي اقتباس. وضمن سلسلة فرعية، تكون الرموز الخاصة الوحيدة هي الشرطة المائلة للخلف، التي تلغي الحرف التالي، واقتباس النهاية المقابل. تتم إزالة أحرف علامات الاقتباس للبداية/النهاية.
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".
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
||||
المرتجعات |
صحيح عند النجاح؛ وإلا، فإن الخطأ عند الفشل.
|
ParseFabricId
bool ParseFabricId( const char *str, uint64_t & fabricId, bool allowReserved )
تحليل معرف نسيج Weave في شكل نصي.
تقبل الدالة ParseFabricId() معرّف قماش 64 بت بتنسيق سداسي، مع بادئة "0x" أو بدونها.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
||||||
المرتجعات |
صحيح إذا تم تحليل القيمة بنجاح؛ false إذا لم يكن كذلك.
|
ParseHexString
bool ParseHexString( const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen )
تحليل سلسلة من وحدات البايت المقدمة في شكل سداسي
يتوقع ParseHexString() أن يكون الإدخال في شكل أزواج من الأرقام السداسية العشرية (أحرف كبيرة أو صغيرة). يمكن اختياريًا فصل الأزواج الست عشرية باستخدام أي من الرموز التالية: نقطتان أو فاصلة منقوطة أو فاصلة أو نقطة أو شرطة. بالإضافة إلى ذلك، يتم تجاهل أحرف المسافات البيضاء في أي مكان في سلسلة الإدخال.
التفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المعلمات |
|
||||||||||
المرتجعات |
صحيح إذا تم تحليل القيمة بنجاح؛ false إذا كانت بيانات الإدخال غير صحيحة، أو إذا كانت
outBuf صغيرة جدًا. |
ParseIPAddress
bool ParseIPAddress( const char *str, IPAddress & output )
تحليل عنوان IP في شكل نصي.
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
||||
المرتجعات |
صحيح إذا تم تحليل القيمة بنجاح؛ false إذا لم يكن كذلك.
|
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" أو "الكل" حيث تُفسر على أنها تعني أي رقم تعريف للعقدة (0xFFFFFFFFFFFFFF).
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
||||
المرتجعات |
صحيح إذا تم تحليل القيمة بنجاح؛ false إذا لم يكن كذلك.
|
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 )