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:: |
OptionSet נפוץ לטיפול באפשרויות מידע (עזרה, גרסה). |
nl:: |
OptionSet, שבו ה-handler הוא פונקציה וירטואלית. |
מבנים |
|
---|---|
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() .
הערך הזה יהיה 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 דרך הסמן של הפונקציה 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
) ומנתחת אותם בהתאם לקבוצה של הגדרות האפשרויות שסופקו. הפונקציה תומכת גם באפשרויות ארוכות (אופציונליות) וגם באפשרויות קצרות (-o), ומממשת את אותו תחביר של אפשרויות כמו הפונקציה getopt_long(3) של GNU.
פרטים | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||
החזרות |
true אם כל האפשרויות והארגומנטים שאינם אפשרויות מנותחו בהצלחה; false אם אפשרות לא הייתה מזוהה או אם אחת מהפונקציות של ה-handler נכשלה (כלומר הוחזרה FALSE). |
הגדרות האפשרויות מועברות אל ParseArgs() כמערך מבני OptionSet (optSets
). כל OptionSet מכיל מערך של הגדרות אפשרויות ופונקציית handler. ParseArgs() מעבד ארגומנטים של אפשרויות בסדר הנתון, מבצע קריאה לפונקציית ה-handler המתאימה לכל אפשרות שזוהתה. אחרי ניתוח כל האפשרויות, נשלחת פעם אחת פונקציה נפרדת שאינה של אפשרויות handler (nonOptArgHandler
) כדי לעבד את הארגומנטים שנותרו.
קבוצות של אפשרויות
OptionSet מכיל קבוצה של הגדרות אפשרויות יחד עם מצביע אל פונקציית handler שתיקרא כאשר תופיע אחת מהאפשרויות המשויכות. קבוצות אפשרויות מכילות גם טקסט עזרה שמתאר את התחביר והמטרה של כל אפשרות (ראו 'עזרה באפשרות' בהמשך). קבוצות אפשרויות נועדו לאפשר יצירה של אוספים לשימוש חוזר של אפשרויות קשורות. התכונה הזו מפשטת את המאמץ שנדרש כדי לתחזק אפליקציות מרובות שמקבלות אפשרויות דומות (למשל, בקשות לבדיקה).
יש שתי תבניות להגדרת OptionSetsone כדי לאתחל מופע של המבנה OptionSet עצמו, למשל. בתור OptionSetBase סטטי, או מחלקה משנית, ומספק constructor. התהליך הזה משתמש בפונקציה HandleOption()
וירטואלית בלבד כדי להאציל טיפול באפשרויות למחלקה המשנית.
רשימות של OptionSets מועברות לפונקציה ParseArgs() כמערך מצביעים שמסתיים ב-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)) { ... } }
הגדרות של אפשרויות
האפשרויות מוגדרות באמצעות המבנה OptionDef
. הגדרות האפשרויות מאורגנות כמערך של רכיבי OptionDef, כאשר כל רכיב מכיל: את שם האפשרות, מזהה של מספר שלם המשמש לזיהוי האפשרות, והאם האפשרות מצפה או מאפשרת ארגומנט. הסוף של מערך האפשרויות מסומן על ידי שדה NULL Name. 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 שבו הם מופיעים, ולכן ניתן לעשות בו שימוש חוזר בקבוצות Option שונות (עם זאת, ראו בהמשך 'אפשרויות Shorts'). המוסכמה הנפוצה היא להתחיל מספור המזהים ב-1000, אך בכל מספר > 128. ניתן ליצור אפשרויות כינויים על ידי שימוש באותו מזהה אפשרות עם שמות אפשרויות שונים.
אפשרויות סרטון Shorts
בניגוד ל-getopt_long(3), ParseArgs() לא מקבל מחרוזת נפרדת שמציינת את רשימת התווים הקצרים. במקום זאת, כל אפשרות שערך המזהה שלה נמצא בטווח של תווי ASCII גרפיים, תאפשר להשתמש בתו הזה כאפשרות קצרה.
ParseArgs() מחייב שתווי אפשרות קצרים יהיו ייחודיים בכל OptionSets. לכן לא מומלץ להשתמש באפשרויות קצרות עבור מערכי OptionSet שמשותפים בין תוכניות, בגלל הסיכוי המשמעותי להתנגשויות. ניתן לעשות שימוש חוזר בתווים של אפשרויות קצרות בתוך 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";
קבוצות עזרה בנושא אפשרויות
קבוצות האפשרויות מכילות מחרוזת HelpGroupName
שמשמשת לקיבוץ אפשרויות יחד בפלט העזרה. הפונקציה PrintOptionHelp()
משתמשת ב-HelpGroupName ככותרת של הקטע בפלט השימוש שנוצר. אם לכמה OptionSets יש אותה 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 – אם אפשרות מסוימת לא זוהתה, אם אחת מהפונקציות של ה-handler נכשלה (כלומר הוחזרה 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 – אם אפשרות מסוימת לא זוהתה, אם אחת מהפונקציות של ה-handler נכשלה (כלומר הוחזרה FALSE) או אם התרחשה שגיאה פנימית. |
התחביר של מחרוזות הקלט דומה לתחביר של פקודות מעטפת ב-Unix, אבל עם סכמת ציטוט פשוטה יותר. פרטים נוספים:
- הארגומנטים מופרדים ברווח לבן, אלא אם הרווח הלבן מוקף במירכאות או בתו בריחה (escape).
- לוכסן הפוך בתו מילוט (escape) של התו הבא, והמערכת תתייחס אליו כאל תו רגיל. הקו הנטוי עצמו יוסר.
- מירכאות בודדות או כפולות מתחילות או מסתיימות במחרוזות משנה שמוקפות במירכאות. בתוך מחרוזת משנה, התווים המיוחדים היחידים הם לוכסן הפוך, אשר בתו בריחה (escape) את התו הבא ואת גרש הסיום התואם. תווי ההתחלה/הסיום במירכאות יוסרו.
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".
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
נכון לגבי הצלחה, אחרת, FALSE כשנכשלים.
|
ParseFabricId
bool ParseFabricId( const char *str, uint64_t & fabricId, bool allowReserved )
ניתוח מזהה בד של Weave בצורת טקסט.
הפונקציה ParseFabricId() מקבלת מזהה בד של 64 ביט שניתן בפורמט הקסדצימלי, עם או בלי '0x' בהתחלה.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
True אם הערך מנותח בהצלחה; אם לא, כ-FALSE.
|
ParseHexString
bool ParseHexString( const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen )
ינתח מחרוזת בייטים שניתנו בצורה הקסדצימלית.
ParseHexString() מצפה שהקלט יהיה בפורמט של זוגות של ספרות הקסדצימליות (אותיות רישיות או קטנות). אפשר להפריד זוגות הקסדצימליים באמצעות כל אחד מהתווים הבאים: נקודתיים, נקודה-פסיק, פסיק, נקודה או מקף. בנוסף, המערכת מתעלמת מתווי רווחים לבנים שנמצאים במקום כלשהו במחרוזת הקלט.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
החזרות |
True אם הערך מנותח בהצלחה; FALSE אם נתוני הקלט שגויים או אם
outBuf קטן מדי. |
ParseIPAddress
bool ParseIPAddress( const char *str, IPAddress & output )
ניתוח כתובת IP בפורמט טקסט.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
True אם הערך מנותח בהצלחה; אם לא, כ-FALSE.
|
ParseInt
bool ParseInt( const char *str, uint64_t & output, int base )
לנתח ומנסים להמיר מחרוזת למספר שלם לא חתום של 64 ביט, תוך שימוש בפרשנות המתאימה על סמך הפרמטר הבסיסי.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
נכון לגבי הצלחה, אחרת, FALSE כשנכשלים.
|
ParseInt
bool ParseInt( const char *str, uint32_t & output, int base )
לנתח ומנסים להמיר מחרוזת למספר שלם לא חתום של 32 סיביות, תוך שימוש בפרשנות המתאימה על סמך הפרמטר הבסיסי.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
נכון לגבי הצלחה, אחרת, FALSE כשנכשלים.
|
ParseInt
bool ParseInt( const char *str, int32_t & output, int base )
לנתח ומנסים להמיר מחרוזת למספר שלם חתום של 32 ביט, תוך שימוש בפרשנות המתאימה על סמך הפרמטר הבסיסי.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
נכון לגבי הצלחה, אחרת, FALSE כשנכשלים.
|
ParseInt
bool ParseInt( const char *str, uint64_t & output )
ננתח ומנסה להמיר מחרוזת המבוטאת כערך עשרוני למספר שלם לא חתום של 64 סיביות, תוך החלת הפרשנות המתאימה על סמך הפרמטר הבסיסי.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
נכון לגבי הצלחה, אחרת, FALSE כשנכשלים.
|
ParseInt
bool ParseInt( const char *str, uint32_t & output )
ננתח ומנסה להמיר מחרוזת המבוטאת כערך עשרוני למספר שלם לא חתום של 32 סיביות, תוך החלת הפרשנות המתאימה על סמך הפרמטר הבסיסי.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
נכון לגבי הצלחה, אחרת, FALSE כשנכשלים.
|
ParseInt
bool ParseInt( const char *str, int32_t & output )
ניתוח והמרה של מחרוזת המבוטאת כערך עשרוני למספר שלם חתום של 32 ביט, ומיישמים את הפרשנות המתאימה על סמך הפרמטר הבסיסי.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
נכון לגבי הצלחה, אחרת, FALSE כשנכשלים.
|
ParseInt
bool ParseInt( const char *str, uint16_t & output )
ננתח ומנסה להמיר מחרוזת המבוטאת כערך עשרוני למספר שלם לא חתום של 16 סיביות, תוך החלת הפרשנות המתאימה על סמך הפרמטר הבסיסי.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
נכון לגבי הצלחה, אחרת, FALSE כשנכשלים.
|
ParseInt
bool ParseInt( const char *str, int16_t & output )
ננתח ומנסה להמיר מחרוזת המבוטאת כערך עשרוני למספר שלם חתום של 16 ביט, תוך החלת הפרשנות המתאימה על סמך הפרמטר הבסיסי.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
נכון לגבי הצלחה, אחרת, FALSE כשנכשלים.
|
ParseInt
bool ParseInt( const char *str, uint8_t & output )
ננתח ומנסה להמיר מחרוזת המבוטאת כערך עשרוני למספר שלם לא חתום בן 8 ביט, בהתאם לפרשנות המתאימה על סמך הפרמטר הבסיסי.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
נכון לגבי הצלחה, אחרת, FALSE כשנכשלים.
|
ParseNodeId
bool ParseNodeId( const char *str, uint64_t & nodeId )
ניתוח מזהה צומת של Weave בטופס טקסט.
הפונקציה ParseNodeId() מקבלת מזהה צומת של 64 ביט שניתן בפורמט הקסדצימלי (עם או בלי '0x' בהתחלה), או את המילים 'בכל'. או 'הכול' שמפורשים כמזהה של כל צומת (0xFFFFFFFFFFFFFF).
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
True אם הערך מנותח בהצלחה; אם לא, כ-FALSE.
|
ParseSubnetId
bool ParseSubnetId( const char *str, uint16_t & subnetId )
ניתוח ומנסה להמיר מחרוזת למזהה רשת משנה לא חתום של 16 סיביות, תוך כדי פרשנות של המחרוזת כהקסדצימלית.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
נכון לגבי הצלחה, אחרת, 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 )