nl:: ArgParser
요약
열거 |
|
---|---|
OptionArgumentType
|
enum 명령줄 옵션의 인수 요구사항을 정의합니다. |
Typedef |
|
---|---|
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 **
현재 활성 상태인 ParseArgs() 호출에 전달된 OptionSet의 목록입니다.
|
Functions |
|
---|---|
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 패브릭 ID를 파싱합니다.
|
ParseHexString(const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen)
|
bool
16진수 형식으로 주어진 바이트로의 문자열을 파싱합니다.
|
ParseIPAddress(const char *str, IPAddress & output)
|
bool
IP 주소를 텍스트 형식으로 파싱합니다.
|
ParseInt(const char *str, uint64_t & output, int base)
|
bool
base 매개변수를 기반으로 적절한 해석을 적용하여 문자열을 파싱하고 64비트의 부호 없는 정수로 변환해 봅니다.
|
ParseInt(const char *str, uint32_t & output, int base)
|
bool
base 매개변수를 기반으로 적절한 해석을 적용하여 문자열을 파싱하고 32비트 부호 없는 정수로 변환해 봅니다.
|
ParseInt(const char *str, int32_t & output, int base)
|
bool
base 매개변수를 기반으로 적절한 해석을 적용하여 문자열을 파싱하고 32비트 부호 있는 정수로 변환해 봅니다.
|
ParseInt(const char *str, uint64_t & output)
|
bool
10진수로 해석된 문자열을 파싱하여 64비트의 부호 없는 정수로 변환하고 base 매개변수를 기반으로 적절한 해석을 적용합니다.
|
ParseInt(const char *str, uint32_t & output)
|
bool
10진수로 해석된 문자열을 파싱하여 32비트의 부호 없는 정수로 변환하고 base 매개변수를 기반으로 적절한 해석을 적용합니다.
|
ParseInt(const char *str, int32_t & output)
|
bool
10진수로 해석된 문자열을 32비트 부호 있는 정수로 파싱하고 변환하려고 합니다. base 매개변수를 기반으로 적절한 해석을 적용하세요.
|
ParseInt(const char *str, uint16_t & output)
|
bool
십진수 값으로 해석된 문자열을 파싱하여 16비트 부호 없는 정수로 변환하고 base 매개변수를 기반으로 적절한 해석을 적용합니다.
|
ParseInt(const char *str, int16_t & output)
|
bool
십진수 값으로 해석된 문자열을 16비트 부호 있는 정수로 파싱하고 변환하려고 합니다. base 매개변수를 기반으로 적절한 해석을 적용합니다.
|
ParseInt(const char *str, uint8_t & output)
|
bool
10진수로 해석된 문자열을 8비트 부호 없는 정수로 파싱하고 변환하려고 합니다. base 매개변수를 기반으로 적절한 해석을 적용합니다.
|
ParseNodeId(const char *str, uint64_t & nodeId)
|
bool
Weave 노드 ID를 텍스트 형식으로 파싱합니다.
|
ParseSubnetId(const char *str, uint16_t & subnetId)
|
bool
문자열을 파싱하고 부호 없는 16비트 서브넷 ID로 변환하여 문자열을 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
명령줄 옵션의 인수 요구사항을 정의합니다.
Typedef
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
현재 활성 상태인 ParseArgs() 호출에 전달된 OptionSet의 목록입니다.
진행 중인 ParseArgs() 호출이 없으면 이 값은 NULL입니다.
Functions
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
)을 사용하여 제공된 옵션 정의에 따라 파싱합니다. 이 함수는 long (opt) 옵션 및 short (-o) 옵션을 모두 지원하고 GNU getopt_long(3) 함수와 동일한 옵션 구문을 구현합니다.
세부정보 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||
반환 |
모든 옵션 및 옵션 외 인수가 성공적으로 파싱된 경우
true , 옵션을 인식할 수 없는 경우 또는 핸들러 함수 중 하나가 실패 (예: false를 반환한 경우) false |
옵션 정의는 OptionSet 구조(optSets
)의 배열로 ParseArgs()에 전달됩니다. 각 OptionSet에는 옵션 정의의 배열과 핸들러 함수가 포함됩니다. ParseArgs()는 지정된 순서로 옵션 인수를 처리하여 인식된 옵션마다 각 핸들러 함수를 호출합니다. 모든 옵션이 파싱되면 별도의 비 옵션 핸들러 함수 (nonOptArgHandler
)가 호출되어 나머지 인수를 처리합니다.
옵션 세트
OptionSet에는 연결된 옵션 중 하나가 발생할 때 호출되는 핸들러 함수에 대한 포인터와 함께 옵션 정의 집합이 포함되어 있습니다. 옵션 세트에는 각 옵션의 구문과 목적을 설명하는 도움말 텍스트도 포함되어 있습니다 (아래 옵션 도움말 참고). 옵션 세트는 재사용 가능한 관련 옵션 컬렉션을 만들 수 있도록 설계되었습니다. 이렇게 하면 유사한 옵션 (예: 테스트 애플리케이션)을 허용하는 여러 애플리케이션을 유지보수하는 데 필요한 작업이 줄어듭니다.
OptionSetsone을 정의하는 패턴에는 OptionSet 구조체 자체의 인스턴스를 초기화하거나(예: 정적 전역 변수) 또는 서브클래스인 OptionSetBase 서브클래스를 생성하여 생성자를 제공할 수 있는 두 가지 패턴이 있습니다. 후자는 순수 가상 HandleOption()
함수를 사용하여 서브클래스에 옵션 처리를 위임합니다.
OptionSet 목록은 NULL로 끝나는 포인터 배열로 ParseArgs() 함수에 전달됩니다. 예:
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 요소의 배열로 구성됩니다. 여기서 각 요소는 옵션 이름, 옵션을 식별하는 데 사용되는 정수 ID, 옵션이 인수를 예상/허용하는지 여부를 포함합니다. 옵션 배열의 끝은 NULL 이름 필드로 신호를 받습니다. 예:
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
옵션 ID는 옵션 핸들러 (OptionHandler 함수)를 처리하는 코드의 옵션을 식별합니다. 옵션 ID는 표시되는 OptionSet에 따라 다르므로 다양한 OptionSet에서 재사용될 수 있습니다 (단, 아래의 SHORT OPTIONS 참조). 일반적인 방법은 1, 000에서 번호 지정 옵션 ID를 시작하는 것이지만 모든 숫자 > 128을 사용할 수 있습니다. 다른 옵션 이름과 동일한 옵션 ID를 사용하여 별칭 옵션을 만들 수 있습니다.
Shorts 옵션
getopt_long(3)과 달리 ParseArgs()는 짧은 옵션 문자 목록을 지정하는 별도의 문자열을 사용하지 않습니다. 오히려 ID 값이 그래픽 ASCII 문자 범위에 속하는 옵션이 있는 경우 이 문자를 짧은 옵션으로 사용할 수 있습니다.
ParseArgs()를 사용하려면 짧은 옵션 문자가 모든 OptionSet에서 고유해야 합니다. 이 때문에 충돌 가능성이 매우 크므로 여러 프로그램 간에 공유되는 OptionSet에는 짧은 옵션을 사용하지 않는 것이 좋습니다. 짧은 옵션 문자는 단일 OptionSet 내에서 재사용되어 별칭 긴 옵션 이름을 생성할 수 있습니다.
옵션 도움말
각 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";
옵션 도움말 그룹
OptionSet는 도움말 출력에서 옵션을 그룹화하는 데 사용되는 HelpGroupName
문자열을 포함합니다. PrintOptionHelp()
함수는 생성된 사용 출력에서 HelpGroupName을 섹션 제목으로 사용합니다. 여러 GroupSet의 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를 반환)한 경우 또는 내부 오류가 발생한 경우 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 반환)하거나 내부 오류가 발생한 경우 false |
입력 문자열의 구문은 Unix 셸 명령어 구문과 비슷하지만 단순화된 따옴표 체계가 사용됩니다. 구체적으로는 다음과 같습니다.
- 인수는 공백이 따옴표나 이스케이프 처리되지 않으면 공백으로 구분됩니다.
- 백슬래시가 이스케이프 처리되어 일반 문자로 처리됩니다. 백슬래시 자체가 제거됩니다.
- 작은따옴표나 큰따옴표로 묶은 하위 문자열은 시작/종료합니다. 하위 문자열 내에 있는 유일한 특수문자는 백슬래시(다음 문자를 이스케이프 처리)하고 해당 따옴표로 묶습니다. 시작/종료 따옴표 문자는 삭제됩니다.
예:
--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 )
문자열을 부울 값으로 파싱합니다.
이 함수는 대소문자를 구분하는 다음 값 (대소문자 구분)을 허용합니다.&;;;{0/}
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
성공 시 true를, 실패 시 false를 전달합니다.
|
ParseFabricId
bool ParseFabricId( const char *str, uint64_t & fabricId, bool allowReserved )
텍스트 형식으로 Weave 패브릭 ID를 파싱합니다.
ParseFabricId() 함수는 16진수 형식으로 지정된 64비트 패브릭 ID를 허용하며, 선행 ##99;0x' 유무입니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 |
값이 성공적으로 파싱된 경우 true, 그렇지 않은 경우 false
|
ParseHexString
bool ParseHexString( const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen )
16진수 형식으로 주어진 바이트로의 문자열을 파싱합니다.
ParseHexString()은 입력이 16진수 숫자 쌍의 대문자 또는 소문자일 것으로 예상합니다. 16진수 쌍은 콜론, 세미콜론, 쉼표, 마침표, 대시와 같은 문자로 구분할 수 있습니다. 또한 입력 문자열의 모든 공백 문자는 무시됩니다.
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||
반환 |
값이 성공적으로 파싱된 경우 true, 입력 데이터의 형식이 잘못된 경우 false,
outBuf 가 너무 작은 경우 false입니다. |
ParseIPAddress
bool ParseIPAddress( const char *str, IPAddress & output )
IP 주소를 텍스트 형식으로 파싱합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
값이 성공적으로 파싱된 경우 true, 그렇지 않은 경우 false
|
ParseInt
bool ParseInt( const char *str, uint64_t & output, int base )
base 매개변수를 기반으로 적절한 해석을 적용하여 문자열을 파싱하고 64비트의 부호 없는 정수로 변환해 봅니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 |
성공 시 true를, 실패 시 false를 전달합니다.
|
ParseInt
bool ParseInt( const char *str, uint32_t & output, int base )
base 매개변수를 기반으로 적절한 해석을 적용하여 문자열을 파싱하고 32비트 부호 없는 정수로 변환해 봅니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 |
성공 시 true를, 실패 시 false를 전달합니다.
|
ParseInt
bool ParseInt( const char *str, int32_t & output, int base )
base 매개변수를 기반으로 적절한 해석을 적용하여 문자열을 파싱하고 32비트 부호 있는 정수로 변환해 봅니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 |
성공 시 true를, 실패 시 false를 전달합니다.
|
ParseInt
bool ParseInt( const char *str, uint64_t & output )
10진수로 해석된 문자열을 파싱하여 64비트의 부호 없는 정수로 변환하고 base 매개변수를 기반으로 적절한 해석을 적용합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
성공 시 true를, 실패 시 false를 전달합니다.
|
ParseInt
bool ParseInt( const char *str, uint32_t & output )
10진수로 해석된 문자열을 파싱하여 32비트의 부호 없는 정수로 변환하고 base 매개변수를 기반으로 적절한 해석을 적용합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
성공 시 true를, 실패 시 false를 전달합니다.
|
ParseInt
bool ParseInt( const char *str, int32_t & output )
10진수로 해석된 문자열을 32비트 부호 있는 정수로 파싱하고 변환하려고 합니다. base 매개변수를 기반으로 적절한 해석을 적용하세요.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
성공 시 true를, 실패 시 false를 전달합니다.
|
ParseInt
bool ParseInt( const char *str, uint16_t & output )
십진수 값으로 해석된 문자열을 파싱하여 16비트 부호 없는 정수로 변환하고 base 매개변수를 기반으로 적절한 해석을 적용합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
성공 시 true를, 실패 시 false를 전달합니다.
|
ParseInt
bool ParseInt( const char *str, int16_t & output )
십진수 값으로 해석된 문자열을 16비트 부호 있는 정수로 파싱하고 변환하려고 합니다. base 매개변수를 기반으로 적절한 해석을 적용합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
성공 시 true를, 실패 시 false를 전달합니다.
|
ParseInt
bool ParseInt( const char *str, uint8_t & output )
10진수로 해석된 문자열을 8비트 부호 없는 정수로 파싱하고 변환하려고 합니다. base 매개변수를 기반으로 적절한 해석을 적용합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
성공 시 true를, 실패 시 false를 전달합니다.
|
ParseNodeId
bool ParseNodeId( const char *str, uint64_t & nodeId )
Weave 노드 ID를 텍스트 형식으로 파싱합니다.
ParseNodeId() 함수는 16진수 형식으로 지정된 64비트 노드 ID (선행 '0x') 또는 단어 #&39;any' 또는 'all'를 허용하며, 이는 Any 노드 ID (0xFFFFFFFFFFFFFFFFFF)를 의미하는 것으로 해석됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
값이 성공적으로 파싱된 경우 true, 그렇지 않은 경우 false
|
Parse서브넷 ID
bool ParseSubnetId( const char *str, uint16_t & subnetId )
문자열을 파싱하고 부호 없는 16비트 서브넷 ID로 변환하여 문자열을 16진수로 해석합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 |
성공 시 true를, 실패 시 false를 전달합니다.
|
PrintOption도움말
void PrintOptionHelp( OptionSet *optSets[], FILE *s )
지정된 옵션 목록의 도움말 텍스트를 스트림에 출력합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
빈 문자열
void PutStringWithBlankLine( FILE *s, const char *str )
줄바꿈
void PutStringWithNewLine( FILE *s, const char *str )
분할
int32_t SplitArgs( char *argStr, char **& argList, char *initialArg )