nl:: ArgParser
Tóm tắt
Bảng liệt kê |
|
---|---|
OptionArgumentType
|
enum Xác định các yêu cầu đối số cho một tuỳ chọn dòng lệnh. |
Typedef |
|
---|---|
NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[])
|
typedefbool(*
Một hàm có thể được gọi để xử lý mọi đối số dòng lệnh còn lại, không có tuỳ chọn. |
OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg)
|
typedefbool(*
Một hàm có thể được gọi để xử lý một tập hợp các tuỳ chọn dòng lệnh. |
Biến |
|
---|---|
PrintArgError = DefaultPrintArgError)(const char *msg,...)
|
void(*
Con trỏ đến hàm dùng để in các lỗi xảy ra trong quá trình phân tích cú pháp đối số.
|
gActiveOptionSets = NULL
|
OptionSet **
Danh sách OptionSets được chuyển đến lệnh gọi ParseArgs() hiện đang hoạt động.
|
Hàm |
|
---|---|
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
In thông báo lỗi liên quan đến việc phân tích cú pháp đối số.
|
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
Phân tích cú pháp một tập hợp các đối số kiểu dòng lệnh, gọi hàm xử lý để xử lý từng tuỳ chọn và đối số không phải tuỳ chọn.
|
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
Phân tích cú pháp một tập hợp các đối số từ một biến môi trường đã đặt tên.
|
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
Phân tích cú pháp một tập hợp các đối số của một chuỗi đã cho.
|
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
Phân tích cú pháp chuỗi dưới dạng giá trị boolean.
|
ParseFabricId(const char *str, uint64_t & fabricId, bool allowReserved)
|
bool
Phân tích cú pháp mã vải Weave ở dạng văn bản.
|
ParseHexString(const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen)
|
bool
Phân tích cú pháp một chuỗi byte ở dạng hex.
|
ParseIPAddress(const char *str, IPAddress & output)
|
bool
Phân tích cú pháp địa chỉ IP ở dạng văn bản.
|
ParseInt(const char *str, uint64_t & output, int base)
|
bool
Phân tích cú pháp và chuyển đổi một chuỗi thành số nguyên 64 bit chưa ký, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
|
ParseInt(const char *str, uint32_t & output, int base)
|
bool
Phân tích cú pháp và chuyển đổi một chuỗi thành số nguyên 32 bit chưa ký, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
|
ParseInt(const char *str, int32_t & output, int base)
|
bool
Phân tích cú pháp và chuyển đổi một chuỗi thành số nguyên có dấu 32 bit, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
|
ParseInt(const char *str, uint64_t & output)
|
bool
Phân tích cú pháp và chuyển đổi một chuỗi được diễn giải dưới dạng giá trị thập phân thành số nguyên 64 bit chưa ký, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
|
ParseInt(const char *str, uint32_t & output)
|
bool
Phân tích cú pháp và chuyển đổi một chuỗi được diễn giải dưới dạng giá trị thập phân thành số nguyên 32 bit chưa ký, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
|
ParseInt(const char *str, int32_t & output)
|
bool
Phân tích cú pháp và chuyển đổi một chuỗi được diễn giải dưới dạng giá trị thập phân thành số nguyên 32 bit có dấu, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
|
ParseInt(const char *str, uint16_t & output)
|
bool
Phân tích cú pháp và chuyển đổi một chuỗi được diễn giải dưới dạng giá trị thập phân thành số nguyên 16 bit chưa ký, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
|
ParseInt(const char *str, int16_t & output)
|
bool
Phân tích cú pháp và chuyển đổi một chuỗi được diễn giải dưới dạng giá trị thập phân thành số nguyên 16 bit có dấu, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
|
ParseInt(const char *str, uint8_t & output)
|
bool
Phân tích cú pháp và chuyển đổi một chuỗi được diễn giải dưới dạng giá trị thập phân thành số nguyên 8 bit chưa ký, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
|
ParseNodeId(const char *str, uint64_t & nodeId)
|
bool
Phân tích cú pháp mã nhận dạng nút Weave ở dạng văn bản.
|
ParseSubnetId(const char *str, uint16_t & subnetId)
|
bool
Phân tích cú pháp và cố gắng chuyển đổi một chuỗi thành mã nhận dạng mạng con 16 bit chưa ký, hiểu chuỗi là hệ thập lục phân.
|
PrintOptionHelp(OptionSet *optSets[], FILE *s)
|
void
In văn bản trợ giúp cho danh sách các tuỳ chọn được chỉ định đến một luồng.
|
PutStringWithBlankLine(FILE *s, const char *str)
|
void
|
PutStringWithNewLine(FILE *s, const char *str)
|
void
|
SplitArgs(char *argStr, char **& argList, char *initialArg)
|
int32_t
|
Lớp |
|
---|---|
nl:: |
OptionSet phổ biến để xử lý các tuỳ chọn thông tin (trợ giúp, phiên bản). |
nl:: |
Một OptionSet trong đó trình xử lý là một hàm ảo. |
Cấu trúc |
|
---|---|
nl:: |
Xác định tuỳ chọn dòng lệnh. |
nl:: |
Xác định một nhóm các tuỳ chọn dòng lệnh có liên quan về mặt logic và có thể sử dụng lại. |
Bảng liệt kê
OptionArgumentType
OptionArgumentType
Xác định các yêu cầu đối số cho một tuỳ chọn dòng lệnh.
Typedef
NonOptionArgHandlerFunct
bool(* NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[])
Một hàm có thể được gọi để xử lý mọi đối số dòng lệnh còn lại, không có tuỳ chọn.
OptionHandlerFunct
bool(* OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg)
Một hàm có thể được gọi để xử lý một tập hợp các tuỳ chọn dòng lệnh.
Biến
PrintArgError
void(* PrintArgError)(const char *msg,...) = DefaultPrintArgError
Con trỏ đến hàm dùng để in các lỗi xảy ra trong quá trình phân tích cú pháp đối số.
Ứng dụng phải gọi PrintArgError() để báo cáo lỗi trong các hàm xử lý tuỳ chọn và đối số không tuỳ chọn, thay vì in trực tiếp ra stdout/stderr.
Giá trị mặc định là một con trỏ đến hàm DefaultPrintArgError()
.
gActiveOptionSets
OptionSet ** gActiveOptionSets = NULL
Danh sách OptionSets được chuyển đến lệnh gọi ParseArgs() hiện đang hoạt động.
Giá trị này sẽ là NULL khi không có lệnh gọi nào đến ParseArgs() đang thực hiện.
Hàm
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, ... )
In thông báo lỗi liên quan đến việc phân tích cú pháp đối số.
Hàm mặc định dùng để in thông báo lỗi phát sinh do quá trình phân tích cú pháp các đối số.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
Các ứng dụng phải gọi qua con trỏ hàm PrintArgError, thay vì gọi trực tiếp hàm này.
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 )
Phân tích cú pháp một tập hợp các đối số kiểu dòng lệnh, gọi hàm xử lý để xử lý từng tuỳ chọn và đối số không phải tuỳ chọn.
ParseArgs() lấy danh sách các đối số (argv
) và phân tích cú pháp các đối số đó theo một tập hợp các định nghĩa tuỳ chọn đã cung cấp. Hàm này hỗ trợ cả tuỳ chọn dài (opt) và ngắn (-o), đồng thời triển khai cú pháp tuỳ chọn tương tự như hàm GNU getopt_long(3).
Thông tin chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Các tham số |
|
||||||||||||
Trả về |
true nếu tất cả các tuỳ chọn và đối số không phải tuỳ chọn được phân tích cú pháp thành công; false nếu không nhận dạng được một tuỳ chọn hoặc nếu một trong các hàm của trình xử lý bị lỗi (nghĩa là trả về sai). |
Các định nghĩa tuỳ chọn được chuyển đến ParseArgs() dưới dạng một mảng các cấu trúc OptionSet (optSets
). Mỗi OptionSet chứa một mảng các định nghĩa tuỳ chọn và một hàm xử lý. ParseArgs() xử lý các đối số tuỳ chọn theo thứ tự nhất định, gọi hàm xử lý tương ứng cho mỗi tuỳ chọn được nhận dạng. Sau khi tất cả các tuỳ chọn đã được phân tích cú pháp, một hàm trình xử lý không phải tuỳ chọn (nonOptArgHandler
) riêng biệt sẽ được gọi một lần để xử lý mọi đối số còn lại.
BỘ LỰA CHỌN
Một OptionSet chứa một tập hợp các định nghĩa tuỳ chọn cùng với một con trỏ đến hàm xử lý sẽ được gọi khi gặp một trong các tuỳ chọn liên quan. Bộ tuỳ chọn cũng chứa văn bản trợ giúp mô tả cú pháp và mục đích của từng tuỳ chọn (xem NỘI DUNG TRỢ GIÚP LỰA CHỌN bên dưới). Các nhóm tuỳ chọn được thiết kế để cho phép tạo các tập hợp tuỳ chọn có thể sử dụng lại cho các tuỳ chọn có liên quan. Điều này giúp đơn giản hoá công sức duy trì nhiều ứng dụng chấp nhận các tuỳ chọn tương tự (ví dụ: ứng dụng kiểm thử).
Có hai mẫu để xác định OptionSetsone có thể khởi chạy một thực thể của chính cấu trúc OptionSet, ví dụ: dưới dạng toàn cục tĩnh hoặc lớp con OptionSetBase và cung cấp một hàm khởi tạo. Phần sau sử dụng hàm HandleOption()
ảo thuần tuý để uỷ quyền xử lý tuỳ chọn cho lớp con.
Danh sách OptionSets được chuyển đến hàm ParseArgs() dưới dạng một mảng con trỏ kết thúc 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)) { ... } }
ĐỊNH NGHĨA VỀ LỰA CHỌN
Các tuỳ chọn được xác định bằng cấu trúc OptionDef
. Các định nghĩa của tuỳ chọn được sắp xếp dưới dạng một mảng các phần tử OptionDef, trong đó mỗi phần tử chứa: tên của tuỳ chọn, một mã nhận dạng bằng số nguyên dùng để xác định tuỳ chọn và liệu tuỳ chọn có yêu cầu/cho phép đối số hay không. Điểm cuối của mảng tuỳ chọn được báo hiệu bằng trường Tên 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 } };
ID LỰA CHỌN
Mã tuỳ chọn giúp xác định các tuỳ chọn cho mã xử lý các tuỳ chọn đó (hàm OptionHandler). Mã lựa chọn có liên quan đến OptionSet mà chúng xuất hiện, và do đó có thể được sử dụng lại trên các OptionSet khác nhau (tuy nhiên, bạn có thể xem các Lựa chọn NGẮN bên dưới). Quy ước phổ biến là bắt đầu đánh số mã tuỳ chọn ở mức 1000, tuy nhiên, bạn có thể sử dụng bất kỳ số nào lớn hơn 128. Bạn có thể tạo các tuỳ chọn bí danh bằng cách sử dụng cùng một mã tuỳ chọn với các tên tuỳ chọn khác nhau.
CÁC LỰA CHỌN VIDEO NGẮN
Không giống như getopt_long(3), ParseArgs() không lấy một chuỗi riêng biệt chỉ định danh sách các ký tự tuỳ chọn ngắn. Đúng hơn, bất kỳ tuỳ chọn nào có giá trị mã nằm trong phạm vi ký tự ASCII đồ hoạ đều sẽ cho phép sử dụng ký tự đó dưới dạng tuỳ chọn ngắn.
ParseArgs() yêu cầu các ký tự tuỳ chọn ngắn phải là duy nhất trên tất cả OptionSet. Do đó, bạn không nên sử dụng các tuỳ chọn ngắn cho mọi OptionSet được dùng chung trên các chương trình do có nhiều khả năng xảy ra xung đột. Bạn có thể sử dụng lại các ký tự tuỳ chọn ngắn trong một OptionSet duy nhất để cho phép tạo tên đại diện cho tuỳ chọn dài.
TRỢ GIÚP VỀ LỰA CHỌN
Mỗi OptionSet chứa một chuỗi OptionHelp
mô tả mục đích và cú pháp của các tuỳ chọn liên kết. Các chuỗi này được hàm PrintOptionHelp()
dùng để tạo thông tin về việc sử dụng tuỳ chọn.
Theo quy ước, chuỗi trợ giúp tuỳ chọn bao gồm ví dụ về cú pháp, theo sau là nội dung mô tả bằng văn bản về tuỳ chọn đó. Nếu lựa chọn này có phiên bản ngắn hoặc tên đại diện, thì tên này sẽ được đặt trước tên đầy đủ chính. Để đảm bảo tính nhất quán, các dòng cú pháp được thụt đầu dòng với 2 dấu cách, trong khi các dòng mô tả được thụt đầu dòng với 7 dấu cách. Một dòng trống duy nhất theo sau mỗi nội dung mô tả tùy chọn, bao gồm cả nội dung mô tả cuối cùng.
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";
NHÓM TRỢ GIÚP LỰA CHỌN
OptionSets chứa một chuỗi HelpGroupName
dùng để nhóm các tuỳ chọn lại với nhau trong kết quả trợ giúp. Hàm PrintOptionHelp()
dùng HelpGroupName làm tiêu đề phần trong kết quả sử dụng được tạo. Nếu nhiều OptionSet có cùng HelpGroupName, thì PrintOptionHelp() sẽ in thông tin trợ giúp tuỳ chọn cho các OptionSet khác nhau cùng nhau dưới một tiêu đề phần chung.
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 )
Phân tích cú pháp một tập hợp các đối số từ một biến môi trường đã đặt tên.
ParseArgsFromEnvVar() đọc một biến môi trường đã đặt tên và chuyển giá trị đến ParseArgsFromString()
để phân tích cú pháp. Nếu biến môi trường không được đặt, thì hàm sẽ không làm gì cả.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Các tham số |
|
||||||||||
Trả về |
true nếu tất cả các tuỳ chọn và đối số không phải tuỳ chọn được phân tích cú pháp thành công, hoặc nếu biến môi trường đã chỉ định chưa được thiết lập; false nếu không nhận dạng được tuỳ chọn, nếu một trong các hàm của trình xử lý bị lỗi (nghĩa là trả về sai) hoặc nếu xảy ra lỗi nội bộ. |
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 )
Phân tích cú pháp một tập hợp các đối số của một chuỗi đã cho.
ParseArgsFromString() phân tách một chuỗi nhất định (argStr
) thành một nhóm các đối số và phân tích cú pháp các đối số đó bằng hàm ParseArgs().
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Các tham số |
|
||||||||||
Trả về |
true nếu tất cả các tuỳ chọn và đối số không phải tuỳ chọn được phân tích cú pháp thành công; false nếu không nhận dạng được một tuỳ chọn, nếu một trong các hàm của trình xử lý bị lỗi (nghĩa là trả về sai) hoặc nếu xảy ra lỗi nội bộ. |
Cú pháp của chuỗi nhập tương tự như cú pháp lệnh shell unix nhưng có lược đồ trích dẫn được đơn giản hoá. Cụ thể:
- Các đối số được phân tách bằng khoảng trắng, trừ khi khoảng trắng được đặt trong dấu ngoặc kép hoặc thoát.
- Dấu gạch chéo ngược sẽ thoát ký tự sau, khiến ký tự này được coi là ký tự bình thường. Chính dấu gạch chéo ngược bị xoá.
- Chuỗi con bắt đầu/kết thúc trong dấu ngoặc đơn. Trong chuỗi con, ký tự đặc biệt duy nhất là dấu gạch chéo ngược (dấu gạch chéo ngược) thoát ký tự tiếp theo và dấu ngoặc kép kết thúc tương ứng. Các ký tự trong dấu ngoặc kép bắt đầu/kết thúc bị xoá.
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 )
Phân tích cú pháp chuỗi dưới dạng giá trị boolean.
Hàm này chấp nhận các giá trị đầu vào sau (không phân biệt chữ hoa chữ thường): "true", "yes", "t", "y", "1", "false", "no", "f", "n", "0".
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Trả về |
true khi thành công; nếu không, false khi không thành công.
|
ParseFabricId
bool ParseFabricId( const char *str, uint64_t & fabricId, bool allowReserved )
Phân tích cú pháp mã vải Weave ở dạng văn bản.
Hàm ParseFabricId() chấp nhận id kết nối 64 bit được cung cấp ở định dạng hex, có hoặc không có "0x" ở đầu.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Trả về |
true nếu giá trị được phân tích cú pháp thành công; false nếu không phân tích cú pháp.
|
ParseHexString
bool ParseHexString( const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen )
Phân tích cú pháp một chuỗi byte ở dạng hex.
ParseHexString() yêu cầu dữ liệu đầu vào ở dạng các cặp chữ số hex (chữ hoa hoặc chữ thường). Bạn có thể tuỳ ý phân tách các cặp hệ thập lục phân bằng bất kỳ ký tự nào sau đây: dấu hai chấm, dấu chấm phẩy, dấu phẩy, dấu chấm hoặc dấu gạch ngang. Ngoài ra, các ký tự khoảng trắng ở bất kỳ vị trí nào trong chuỗi nhập sẽ bị bỏ qua.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Các tham số |
|
||||||||||
Trả về |
true nếu giá trị được phân tích cú pháp thành công; false nếu dữ liệu đầu vào không đúng định dạng hoặc nếu
outBuf quá nhỏ. |
ParseIPAddress
bool ParseIPAddress( const char *str, IPAddress & output )
Phân tích cú pháp địa chỉ IP ở dạng văn bản.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Trả về |
true nếu giá trị được phân tích cú pháp thành công; false nếu không phân tích cú pháp.
|
ParseInt
bool ParseInt( const char *str, uint64_t & output, int base )
Phân tích cú pháp và chuyển đổi một chuỗi thành số nguyên 64 bit chưa ký, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Trả về |
true khi thành công; nếu không, false khi không thành công.
|
ParseInt
bool ParseInt( const char *str, uint32_t & output, int base )
Phân tích cú pháp và chuyển đổi một chuỗi thành số nguyên 32 bit chưa ký, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Trả về |
true khi thành công; nếu không, false khi không thành công.
|
ParseInt
bool ParseInt( const char *str, int32_t & output, int base )
Phân tích cú pháp và chuyển đổi một chuỗi thành số nguyên có dấu 32 bit, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Trả về |
true khi thành công; nếu không, false khi không thành công.
|
ParseInt
bool ParseInt( const char *str, uint64_t & output )
Phân tích cú pháp và chuyển đổi một chuỗi được diễn giải dưới dạng giá trị thập phân thành số nguyên 64 bit chưa ký, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Trả về |
true khi thành công; nếu không, false khi không thành công.
|
ParseInt
bool ParseInt( const char *str, uint32_t & output )
Phân tích cú pháp và chuyển đổi một chuỗi được diễn giải dưới dạng giá trị thập phân thành số nguyên 32 bit chưa ký, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Trả về |
true khi thành công; nếu không, false khi không thành công.
|
ParseInt
bool ParseInt( const char *str, int32_t & output )
Phân tích cú pháp và chuyển đổi một chuỗi được diễn giải dưới dạng giá trị thập phân thành số nguyên 32 bit có dấu, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Trả về |
true khi thành công; nếu không, false khi không thành công.
|
ParseInt
bool ParseInt( const char *str, uint16_t & output )
Phân tích cú pháp và chuyển đổi một chuỗi được diễn giải dưới dạng giá trị thập phân thành số nguyên 16 bit chưa ký, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Trả về |
true khi thành công; nếu không, false khi không thành công.
|
ParseInt
bool ParseInt( const char *str, int16_t & output )
Phân tích cú pháp và chuyển đổi một chuỗi được diễn giải dưới dạng giá trị thập phân thành số nguyên 16 bit có dấu, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Trả về |
true khi thành công; nếu không, false khi không thành công.
|
ParseInt
bool ParseInt( const char *str, uint8_t & output )
Phân tích cú pháp và chuyển đổi một chuỗi được diễn giải dưới dạng giá trị thập phân thành số nguyên 8 bit chưa ký, áp dụng cách diễn giải phù hợp dựa trên tham số cơ sở.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Trả về |
true khi thành công; nếu không, false khi không thành công.
|
ParseNodeId
bool ParseNodeId( const char *str, uint64_t & nodeId )
Phân tích cú pháp mã nhận dạng nút Weave ở dạng văn bản.
Hàm ParseNodeId() chấp nhận một id nút 64 bit được cung cấp ở định dạng hex (có hoặc không có số '0x' ở đầu) hoặc các từ 'any' hoặc 'all' được hiểu là có nghĩa là ID nút bất kỳ (0xFFFFFFFFFFFFFF).
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Trả về |
true nếu giá trị được phân tích cú pháp thành công; false nếu không phân tích cú pháp.
|
ParseSubnetId
bool ParseSubnetId( const char *str, uint16_t & subnetId )
Phân tích cú pháp và cố gắng chuyển đổi một chuỗi thành mã nhận dạng mạng con 16 bit chưa ký, hiểu chuỗi là hệ thập lục phân.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Trả về |
true khi thành công; nếu không, false khi không thành công.
|
PrintOptionHelp
void PrintOptionHelp( OptionSet *optSets[], FILE *s )
In văn bản trợ giúp cho danh sách các tuỳ chọn được chỉ định đến một luồng.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham 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 )