Google is committed to advancing racial equity for Black communities. See how.

এনএল :: আরগ পার্সার

সারসংক্ষেপ

গণনা

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
অপশনসেটের তালিকাটি বর্তমানে সক্রিয় পার্সআর্গস () কলটিতে পাস করেছে।

কার্যাদি

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
পাঠ্য আকারে একটি তাঁতের ফ্যাব্রিক আইডি পার্স করুন।
ParseHexString (const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen)
bool
হেক্স আকারে প্রদত্ত বাইটের একটি স্ট্রিং পার্স করুন।
ParseIPAddress (const char *str, IPAddress & output)
bool
পাঠ্য আকারে একটি আইপি ঠিকানা পার্স করুন।
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-বিট স্বাক্ষরিত পূর্ণসংখ্যায় রূপান্তর করার চেষ্টা করুন attempt
ParseInt (const char *str, uint16_t & output)
bool
বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যাকে প্রয়োগ করে পার্স এবং একটি স্ট্রিংকে দশমিক মান হিসাবে 16-বিট স্বাক্ষরযুক্ত পূর্ণসংখ্যায় রূপান্তর করার চেষ্টা করুন।
ParseInt (const char *str, int16_t & output)
bool
বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যাকে প্রয়োগ করে একটি স্ট্রিংকে দশমিক মান হিসাবে 16-বিট স্বাক্ষরিত পূর্ণসংখ্যায় রূপান্তর করার চেষ্টা করুন attempt
ParseInt (const char *str, uint8_t & output)
bool
বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যাকে প্রয়োগ করে পার্স এবং দশমিক মান হিসাবে 8 বিট স্বাক্ষরযুক্ত পূর্ণসংখ্যায় রূপান্তরিত করার চেষ্টা করুন attempt
ParseNodeId (const char *str, uint64_t & nodeId)
bool
পাঠ্য আকারে একটি ওয়েভ নোড আইডি পার্স করুন।
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

প্রচলিত OptionSet তথ্য অপশন (সাহায্য, সংস্করণ) পরিচালনা করার জন্য।

nl এর :: ArgParser :: OptionSetBase

একটি OptionSet যেখানে হ্যান্ডলার একটি ভার্চুয়াল ফাংশন।

স্ট্রাক্টস

nl এর :: ArgParser :: OptionDef

একটি কমান্ড লাইন বিকল্প নির্ধারণ করে।

nl এর :: ArgParser :: OptionSet

যৌক্তিক-সম্পর্কিত এবং পুনরায় ব্যবহারযোগ্য কমান্ড লাইন বিকল্পগুলির একটি গোষ্ঠী সংজ্ঞায়িত করে।

গণনা

অপশনআর্গমেন্ট টাইপ

 OptionArgumentType

কমান্ড লাইন বিকল্পের জন্য যুক্তি প্রয়োজনীয়তাগুলি সংজ্ঞায়িত করে।

টাইপডেফস

নন অপশনআর্গহ্যান্ডলারফান্ট

bool(* NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[])

একটি ফাংশন যা কোনও অবশিষ্ট, অ-বিকল্প কমান্ড লাইন আর্গুমেন্টগুলি পরিচালনা করতে বলা যেতে পারে।

অপশনহ্যান্ডলারফান্ট

bool(* OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg)

একটি ফাংশন যা কমান্ড লাইন বিকল্পগুলির একটি সেট পরিচালনা করতে বলা যেতে পারে।

পরিবর্তনশীল

মুদ্রণআরগার

void(* PrintArgError)(const char *msg,...) = DefaultPrintArgError

আর্গুমেন্ট পার্সিংয়ের সময় ঘটে যাওয়া ত্রুটিগুলি মুদ্রণের জন্য ব্যবহৃত ফাংশন পয়েন্টার।

অ্যাপ্লিকেশনগুলিকে স্ট্যান্ডআউট / স্টার্ডারে সরাসরি মুদ্রণ না করে তাদের বিকল্প এবং ত্রুটিবিহীন যুক্তি হ্যান্ডলিং ফাংশনগুলিতে ত্রুটিগুলি রিপোর্ট করার জন্য প্রিন্টআরগেরার () কল করা উচিত।

একটি পয়েন্টার ডিফল্ট DefaultPrintArgError() ফাংশন।

gActiveOptionSets

OptionSet ** gActiveOptionSets = NULL

অপশনসেটের তালিকাটি বর্তমানে সক্রিয় পার্সআর্গস () কলটিতে পাস করেছে।

যখন ParseArgs () এ কোনও কল অগ্রগতি হয় না তখন এই মানটি নুল হবে be

কার্যাদি

কাউন্টএলঅ্যাপশনস

size_t CountAllOptions(
  OptionSet *optSets[]
)

কাউন্টএলঅ্যাপশনস

size_t CountAllOptions(
  OptionSet **optSets
)

গণনা

size_t CountOptionSets(
  OptionSet *optSets[]
)

গণনা

size_t CountOptionSets(
  OptionSet **optSets
)

ডিফল্টপ্রিন্টআরজিআরআর

void DefaultPrintArgError(
  const char *msg,
  ...
)

আর্গুমেন্ট পার্সিংয়ের সাথে যুক্ত একটি ত্রুটি বার্তা মুদ্রণ করুন।

ত্রুটি বার্তাগুলি মুদ্রণের জন্য ডিফল্ট ফাংশন ব্যবহৃত হয় যা তর্কগুলি বিশ্লেষণের কারণে উত্থাপিত হয়।

বিশদ
পরামিতি
[in] msg
বার্তাটি প্রিন্ট করা হবে।

অ্যাপ্লিকেশনগুলিকে এই ফাংশনটি সরাসরি কল করার পরিবর্তে মুদ্রণআরগার ফাংশন পয়েন্টারের মাধ্যমে কল করা উচিত।

ফাইন্ডঅপশনবিআইআইডি

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
)

আইশর্টঅপশনচর

bool IsShortOptionChar(
  int ch
)

মেকলংঅ্যাপশনস

struct option * MakeLongOptions(
  OptionSet **optSets
)

MakeShortOptions

char * MakeShortOptions(
  OptionSet **optSets
)

মেকইউনিক হেল্পগ্রুপ নেমলিস্ট

const char ** MakeUniqueHelpGroupNamesList(
  OptionSet *optSets[]
)

পার্সআর্গস

bool ParseArgs(
  const char *progName,
  int argc,
  char *argv[],
  OptionSet *optSets[],
  NonOptionArgHandlerFunct nonOptArgHandler,
  bool ignoreUnknown
)

প্রতিটি বিকল্প এবং অ-বিকল্প যুক্তি প্রক্রিয়া করার জন্য হ্যান্ডলিং ফাংশনগুলিকে কল করে কমান্ড লাইন-স্টাইলের আর্গুমেন্টগুলির একটি সেট পার্স করুন।

ParseArgs () আর্গুমেন্টগুলি (একটি তালিকা লাগে argv ) এবং পার্স তাদের সরবরাহকৃত বিকল্প সংজ্ঞা একটি সেট অনুযায়ী। ফাংশন দীর্ঘ (অপ্ট) এবং সংক্ষিপ্ত (-o) বিকল্পগুলির উভয় সমর্থন করে এবং GNU getopt_long (3) ফাংশন হিসাবে একই বিকল্প সিনট্যাক্স প্রয়োগ করে।

বিশদ
পরামিতি
[in] progName
প্রোগ্রাম বা প্রসঙ্গের নাম যেখানে যুক্তিগুলি পার্স করা হচ্ছে। এই স্ট্রিংটি ত্রুটি বার্তাগুলি এবং সতর্কতাগুলির উপসর্গ করতে ব্যবহৃত হবে।
[in] argc
বিশ্লেষণের জন্য যুক্তিগুলির সংখ্যা, এবং আরও 1।
[in] argv
আর্গুমেন্ট স্ট্রিংগুলির একটি অ্যারে পার্স করা উচিত। আরগির জন্য নির্দিষ্ট মানের চেয়ে অ্যারের দৈর্ঘ্য 1 টি বেশি হওয়া উচিত এবং আরআরভিভি [আরজিসি] অবশ্যই ন্যূনএলএল সেট করতে হবে। আর্গুমেন্ট পার্সিং দ্বিতীয় বিন্যাস উপাদান দিয়ে শুরু হয় (argv হয় [1]); উপাদান 0 উপেক্ষা করা হয়।
[in] optSets
পয়েন্টার একটি তালিকা OptionSet কাঠামো যে আইনি বিকল্প নির্ধারণ করুন। সরবরাহিত তালিকাটি অবশ্যই একটি ন্যূনএলএল দিয়ে শেষ করতে হবে।
[in] nonOptArgHandler
কোনও ফাংশনটির পয়েন্টার যা একবার অপশন পার্সিংয়ের জন্য ডাকা হবে অন্য বাকী অ-বিকল্প যুক্তি দিয়ে পূর্ণ হবে। কোনও আর্গুমেন্ট রয়ে গেছে তা নির্বিশেষে ফাংশনটিকে বলা হয়। একটি শূন্য পাস করা হয়েছে যদি ParseArgs() যদি কোনো অ-বিকল্প আর্গুমেন্ট উপস্থিত একটি ত্রুটি প্রতিবেদন করবে।
[in] ignoreUnknown
যদি সত্য হয়, নিঃশব্দে কোনও অচেনা বিকল্পগুলি উপেক্ষা করুন।
ফিরে আসে
true যদি সমস্ত বিকল্প এবং অ বিকল্প আর্গুমেন্ট সফলভাবে পার্স করা হয়; false একটি বিকল্প অচেনা ছিল অথবা যদি হ্যান্ডলার ফাংশন এক ব্যর্থ হয়েছে (অর্থাত মিথ্যা ফিরে) পারেন।

অপশন সংজ্ঞা ParseArgs () একটি অ্যারের হিসাবে গৃহীত হয় OptionSet স্ট্রাকচার ( optSets )। প্রতিটি OptionSet বিকল্প সংজ্ঞা ও একটি হ্যান্ডলার ফাংশন একটি অ্যারে রয়েছে। পার্সআর্গস () প্রতিটি স্বীকৃত বিকল্পের জন্য সংশ্লিষ্ট হ্যান্ডলার ফাংশনটিকে কল করে প্রদত্ত ক্রমে বিকল্প আর্গুমেন্টগুলি প্রক্রিয়া করে। একবার সমস্ত বিকল্প পার্স করা হয়েছে, একটি পৃথক অ বিকল্প হ্যান্ডলার ফাংশন ( nonOptArgHandler ) একবার বলা হয় কোন অবশিষ্ট আর্গুমেন্ট প্রক্রিয়া।

বিকল্প সেট

একটি OptionSet একটি হ্যান্ডলার ফাংশন যে যখন যুক্ত অপশনের একটি সম্মুখীন হয় বলা হবে একটি পয়েন্টার সহ বিকল্প সংজ্ঞা একটি সেট রয়েছে। অপশন সেটে প্রতিটি বিকল্পের বাক্য গঠন এবং উদ্দেশ্য বর্ণনা করতে সহায়তা পাঠ্যও রয়েছে (নীচে বিকল্প সহায়তা দেখুন)। অপশন সেটগুলি সম্পর্কিত বিকল্পগুলির পুনরায় ব্যবহারের যোগ্য সংগ্রহ তৈরি করার অনুমতি দেওয়ার জন্য ডিজাইন করা হয়েছে। এটি অনুরূপ বিকল্পগুলি গ্রহণ করে এমন একাধিক অ্যাপ্লিকেশন বজায় রাখার জন্য প্রয়োজনীয় প্রচেষ্টাটিকে সহজতর করে (যেমন পরীক্ষার অ্যাপ্লিকেশনগুলি)।

সেখানে OptionSetsone সংজ্ঞা পারেন একটি দৃষ্টান্ত আরম্ভ করতে দুই নিদর্শন হয় OptionSet struct যেমন, একটি স্ট্যাটিক বিশ্বব্যাপী হিসাবে নিজেকে, অথবা উপশ্রেণীOptionSetBase এবং কন্সট্রাকটর প্রদান। আধুনিক ব্যবহারের একটি বিশুদ্ধ ভার্চুয়াল HandleOption() ফাংশন উপশ্রেণী করার বিকল্প হ্যান্ডলিং প্রতিনিধির নিকট হস্তান্তরের।

অপশনসেটের তালিকাগুলি পয়েন্টারের 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 উপাদান, যেখানে প্রতিটি উপাদান রয়েছে: বিকল্প নাম, একটি পূর্ণসংখ্যা আইডি বিকল্প সনাক্ত করতে ব্যবহার, এবং কিনা বিকল্প আশা / একটি আর্গুমেন্ট পারেন। অপশন অ্যারের শেষটি একটি নুল নাম ক্ষেত্র দ্বারা সংকেতযুক্ত। উদাহরণ:

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 }
};

বিকল্প আইডি

অপশন আইডিস হ'ল কোডের বিকল্পগুলি সনাক্ত করে যা তাদের পরিচালনা করে (অপশনহ্যান্ডলার ফাংশন)। অপশন আইডি আপেক্ষিক হয় OptionSet যা তারা প্রদর্শিত, এবং এইভাবে বিভিন্ন OptionSets জুড়ে পুনঃব্যবহৃত করা থাকতে পারে (তবে নীচের সংক্ষিপ্ত বিকল্প)। প্রচলিত কনভেনশন হ'ল 1000 এ নম্বর আইডিং শুরু করা, তবে যে কোনও নম্বর> 128 ব্যবহার করা যায় can বিভিন্ন বিকল্পের নামের সাথে একই বিকল্প আইডি ব্যবহার করে এলিয়াস অপশন তৈরি করা যেতে পারে।

সংক্ষিপ্ত বিকল্পগুলি

Getopt_long (3) এর বিপরীতে, পার্সেআর্গস () সংক্ষিপ্ত বিকল্পের অক্ষরের তালিকা নির্দিষ্ট করে আলাদা স্ট্রিং নেয় না। বরং, যার আইডি মান গ্রাফিকাল ASCII অক্ষরের সীমার মধ্যে আসে সেই বিকল্পটি সেই অক্ষরটিকে একটি স্বল্প বিকল্প হিসাবে ব্যবহার করার অনুমতি দেবে।

ParseArgs () প্রয়োজন যে সংক্ষিপ্ত বিকল্প অক্ষর সব OptionSets আলাদা আলাদা হওয়া। এর কারণে সংঘর্ষের জন্য উল্লেখযোগ্য সুযোগের কারণে প্রোগ্রামগুলির মধ্যে ভাগ করা কোনও অপশনসেটের জন্য সংক্ষিপ্ত বিকল্পগুলির ব্যবহারকে নিরুৎসাহিত করা হবে। সংক্ষিপ্ত অপশন অক্ষর একটি একক মধ্যে পুনঃব্যবহৃত করা যেতে পারে OptionSet ওরফে দীর্ঘ বিকল্প নাম সৃষ্টির জন্য অনুমতি দেয়।

বিকল্প সাহায্য

প্রতিটি OptionSet একটি রয়েছে OptionHelp স্ট্রিংটি উদ্দেশ্য এবং যুক্ত অপশনের সিনট্যাক্স বর্ণনা করা হয়েছে। এই স্ট্রিং দ্বারা ব্যবহৃত হয় PrintOptionHelp() ফাংশন বিকল্প ব্যবহারের তথ্য তৈরি করতে।

কনভেনশন দ্বারা, বিকল্প সাহায্যের স্ট্রিংগুলিতে বিকল্পের পাঠ্য বিবরণ অনুসরণ করে একটি বাক্য গঠন উদাহরণ থাকে of বিকল্পটিতে একটি সংক্ষিপ্ত সংস্করণ বা একটি উপনামের নাম থাকলে এটি প্রাথমিক দীর্ঘ নামের আগে দেওয়া হয়। ধারাবাহিকতার জন্য সিনট্যাক্স লাইনগুলি 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";

সহায়তা সহায়তা গ্রুপ

OptionSets একটি ধারণ HelpGroupName স্ট্রিংটি সাহায্যের আউটপুটে একসাথে গ্রুপ অপশন ব্যবহার করা হয়। PrintOptionHelp() ফাংশন উত্পন্ন ব্যবহার আউটপুটে একটি অধ্যায় শিরোনাম হিসাবে HelpGroupName ব্যবহার করে। যদি একাধিক অপশনসেটগুলির একই হেল্পগ্রুপনাম থাকে, তবে মুদ্রণ অপশনহেল্প () অপশন সাহায্যের জন্য একটি সাধারণ বিভাগ শিরোনামের অধীনে একসাথে বিভিন্ন অপশনসেটগুলি মুদ্রণ করবে।

পার্সআর্গস

bool ParseArgs(
  const char *progName,
  int argc,
  char *argv[],
  OptionSet *optSets[],
  NonOptionArgHandlerFunct nonOptArgHandler
)

পার্সআর্গস

bool ParseArgs(
  const char *progName,
  int argc,
  char *argv[],
  OptionSet *optSets[]
)

পার্সআরগসফ্রমেভভার V

bool ParseArgsFromEnvVar(
  const char *progName,
  const char *varName,
  OptionSet *optSets[],
  NonOptionArgHandlerFunct nonOptArgHandler,
  bool ignoreUnknown
)

একটি নামকৃত পরিবেশের ভেরিয়েবল থেকে যুক্তির একটি সেট পার্স করুন।

ParseArgsFromEnvVar () একটি নামাঙ্কিত এনভায়রনমেন্ট ভেরিয়েবল পড়ে এবং মান পাস ParseArgsFromString() পার্স জন্য। যদি পরিবেশের পরিবর্তনশীল সেট না করা থাকে তবে ফাংশনটি কিছুই করে না।

বিশদ
পরামিতি
[in] progName
প্রোগ্রাম বা প্রসঙ্গের নাম যেখানে যুক্তিগুলি পার্স করা হচ্ছে। এই স্ট্রিংটি ত্রুটি বার্তাগুলি এবং সতর্কতাগুলির উপসর্গ করতে ব্যবহৃত হবে।
[in] varName
পরিবেশের পরিবর্তনশীল নাম।
[in] optSets
পয়েন্টার একটি তালিকা OptionSet কাঠামো যে আইনি বিকল্প নির্ধারণ করুন। সরবরাহিত তালিকাটি অবশ্যই একটি ন্যূনএলএল দিয়ে শেষ করতে হবে।
[in] nonOptArgHandler
কোনও ফাংশনটির পয়েন্টার যা একবার অপশন পার্সিংয়ের জন্য ডাকা হবে অন্য বাকী অ-বিকল্প যুক্তি দিয়ে পূর্ণ হবে। কোনও আর্গুমেন্ট রয়ে গেছে তা নির্বিশেষে ফাংশনটিকে বলা হয়। একটি শূন্য পাস করা হয়েছে যদি ParseArgs() যদি কোনো অ-বিকল্প আর্গুমেন্ট উপস্থিত একটি ত্রুটি প্রতিবেদন করবে।
[in] ignoreUnknown
যদি সত্য হয়, নিঃশব্দে কোনও অচেনা বিকল্পগুলি উপেক্ষা করুন।
ফিরে আসে
true যদি সমস্ত বিকল্প এবং অ বিকল্প আর্গুমেন্ট সফলভাবে পার্স করা হয়, অথবা নির্দিষ্ট এনভায়রনমেন্ট ভেরিয়েবল সেট করা না থাকলে; false যদি একটি বিকল্প অস্বীকৃত হয়েছে, যদি হ্যান্ডলার ফাংশন এক ব্যর্থ হয়েছে (অর্থাত মিথ্যা ফিরে) অথবা যদি একটি অভ্যন্তরীণ ত্রুটি ঘটেছে।

পার্সেআর্গসফ্রমেভভার ar

bool ParseArgsFromEnvVar(
  const char *progName,
  const char *varName,
  OptionSet *optSets[]
)

পার্সআরগসফ্রমেভভার V

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
)

প্রদত্ত স্ট্রিং থেকে আর্গুমেন্টের একটি সেট পার্স করুন।

ParseArgsFromString () একটি প্রদত্ত স্ট্রিং (splits argStr ) আর্গুমেন্ট একটি সেটের দিকে এবং ParseArgs () ফাংশন ব্যবহার করে আর্গুমেন্ট parses।

বিশদ
পরামিতি
[in] progName
প্রোগ্রাম বা প্রসঙ্গের নাম যেখানে যুক্তিগুলি পার্স করা হচ্ছে। এই স্ট্রিংটি ত্রুটি বার্তাগুলি এবং সতর্কতাগুলির উপসর্গ করতে ব্যবহৃত হবে।
[in] argStr
বিকল্পগুলি এবং যুক্তিগুলি বিশ্লেষণের সাথে যুক্ত একটি স্ট্রিং।
[in] optSets
পয়েন্টার একটি তালিকা OptionSet কাঠামো যে আইনি বিকল্প নির্ধারণ করুন। সরবরাহিত তালিকাটি অবশ্যই একটি ন্যূনএলএল দিয়ে শেষ করতে হবে।
[in] nonOptArgHandler
কোনও ফাংশনটির পয়েন্টার যা একবার অপশন পার্সিংয়ের জন্য ডাকা হবে অন্য বাকী অ-বিকল্প যুক্তি দিয়ে পূর্ণ হবে। কোনও আর্গুমেন্ট রয়ে গেছে তা নির্বিশেষে ফাংশনটিকে বলা হয়। একটি শূন্য পাস করা হয়েছে যদি ParseArgs() যদি কোনো অ-বিকল্প আর্গুমেন্ট উপস্থিত একটি ত্রুটি প্রতিবেদন করবে।
[in] ignoreUnknown
যদি সত্য হয়, নিঃশব্দে কোনও অচেনা বিকল্পগুলি উপেক্ষা করুন।
ফিরে আসে
true যদি সমস্ত বিকল্প এবং অ বিকল্প আর্গুমেন্ট সফলভাবে পার্স করা হয়; false যদি একটি বিকল্প অস্বীকৃত হয়েছে, যদি হ্যান্ডলার ফাংশন এক ব্যর্থ হয়েছে (অর্থাত মিথ্যা ফিরে) অথবা যদি একটি অভ্যন্তরীণ ত্রুটি ঘটেছে।

ইনপুট স্ট্রিংয়ের বাক্য গঠনটি ইউনিক্স শেল কমান্ড সিনট্যাক্সের সমান, তবে সরলিকৃত উদ্ধৃতি স্কিম সহ। বিশেষত:

  • হোয়াইটস্পেস দ্বারা আর্গুমেন্টগুলি সীমিত করা হয়, যদি না সাদা স্থানটি উদ্ধৃত হয় বা অব্যাহতি না পায়।
  • একটি ব্যাকস্ল্যাশ নিম্নলিখিত অক্ষরটি থেকে পালিয়ে যায়, যার ফলে এটি একটি সাধারণ চরিত্র হিসাবে বিবেচিত হয়। ব্যাকস্ল্যাশ নিজেই ছিনিয়ে নেওয়া হয়।
  • একক বা ডাবল উদ্ধৃতি সূচনা / শেষ উদ্ধৃত সাবস্ট্রিংগুলি। একটি স্ট্রিংয়ের মধ্যে, কেবলমাত্র বিশেষ অক্ষরগুলি হ'ল ব্যাকস্ল্যাশ, যা পরের অক্ষরটিকে ছাড়িয়ে যায় এবং সমাপ্তি সমাপ্ত উদ্ধৃতি। শুরু / শেষের উদ্ধৃতি অক্ষরগুলি ছিনিয়ে নেওয়া হয়।

উদাহরণ:

--listen --count 10 --sw-version '1.0 (DEVELOPMENT)' "--hostname=nest.com"

পার্সআর্গসফ্রম স্ট্রিং

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
)

বুলিয়ান মান হিসাবে একটি স্ট্রিং পার্স করুন।

এই ফাংশনটি নিম্নলিখিত ইনপুট মানগুলি (কেস-সংবেদনশীল) গ্রহণ করে: "সত্য", "হ্যাঁ", "টি", "ওয়াই", "1", "মিথ্যা", "না", "চ", "এন", " 0 "।

বিশদ
পরামিতি
[in] str
পার্স করার মানটি উপস্থাপন করে এমন একটি NULL- সমাপ্ত সি স্ট্রিংয়ের একটি পয়েন্টার।
[out] output
কোনও বিলের জন্য স্টোরেজ সম্পর্কিত একটি উল্লেখ যেখানে পার্স করা মান সাফল্যে সংরক্ষণ করা হবে।
ফিরে আসে
সাফল্যের উপর সত্য; অন্যথায়, ব্যর্থতা উপর মিথ্যা।

পার্সফ্যাব্রিক আইডি

bool ParseFabricId(
  const char *str,
  uint64_t & fabricId,
  bool allowReserved
)

পাঠ্য আকারে একটি তাঁতের ফ্যাব্রিক আইডি পার্স করুন।

পার্সেফ্যাব্রিক আইডি () ফাংশনটি একটি শীর্ষস্থানীয় '0x' বা তার বাইরে হেক্স ফর্ম্যাটে প্রদত্ত একটি 64-বিট ফ্যাব্রিক আইডি গ্রহণ করে।

বিশদ
পরামিতি
[in] str
পার্স করার জন্য ফ্যাব্রিক আইডি থাকা কোনও NULL- সমাপ্ত সি স্ট্রিংয়ের একটি পয়েন্টার।
[out] output
একটি uint64_t লভ্যুয়েলের একটি রেফারেন্স যাতে পার্স করা মান সাফল্যে সংরক্ষণ করা হবে।
[in] allowReserved
যদি সত্য হয় তবে সংরক্ষিত পরিসরে ফ্যাব্রিক আইডির বিশ্লেষণের অনুমতি দিন।
ফিরে আসে
মানটি সফলভাবে পার্স করা হলে সত্য; মিথ্যা যদি না।

পার্সেহেক্সস্ট্রিং

bool ParseHexString(
  const char *hexStr,
  uint32_t strLen,
  uint8_t *outBuf,
  uint32_t outBufSize,
  uint32_t & outDataLen
)

হেক্স আকারে প্রদত্ত বাইটের একটি স্ট্রিং পার্স করুন।

পার্সেহেক্সস্ট্রিং () আশা করে যে ইনপুটটি হেক্স ডিজিটের (আপার বা লোয়ার কেস) জোড়া আকারে হবে। হেক্স জোড়গুলি allyচ্ছিকভাবে নিম্নলিখিত বর্ণগুলির যে কোনও দ্বারা পৃথক করা যায়: কোলন, সেমিকোলন, কমা, পিরিয়ড বা ড্যাশ। অতিরিক্তভাবে, ইনপুট স্ট্রিংয়ের যে কোনও জায়গাতেই হোয়াইটস্পেস অক্ষরগুলি উপেক্ষা করা হয়।

বিশদ
পরামিতি
[in] hexStr
পার্স করার জন্য স্ট্রিংয়ের একটি পয়েন্টার।
[in] strLen
পার্স করার জন্য hexStr এ অক্ষরের সংখ্যা।
[in] outBuf
একটি বাফারের পয়েন্টার যেখানে পার্স বাইটস সংরক্ষণ করা হবে।
[in] outBufSize
বাফার আকার দ্বারা দিকে তাক outBuf
[out] outDataLen
একটি পূর্ণসংখ্যার একটি রেফারেন্স যা পার্স করা মোট বাইটের সংখ্যা পাবে। ঘটনা outBuf বড় যথেষ্ট বাইটের প্রদত্ত সংখ্যার রাখা নয়, outDataLen UINT32_MAX সেট করা হবে।
ফিরে আসে
মানটি সফলভাবে পার্স করা হলে সত্য; মিথ্যা ইনপুট ডেটা বিকৃত হয়েছে থাকে বা যদি outBuf খুবই ছোট।

ParseIPAdress

bool ParseIPAddress(
  const char *str,
  IPAddress & output
)

পাঠ্য আকারে একটি আইপি ঠিকানা পার্স করুন।

বিশদ
পরামিতি
[in] str
পার্স করার ঠিকানা সম্বলিত একটি NULL- সমাপ্ত সি স্ট্রিংয়ের একটি পয়েন্টার।
[out] output
একটি আইপিএড্রেস অবজেক্টের একটি রেফারেন্স যাতে পার্স করা মান সাফল্যে সংরক্ষণ করা হবে।
ফিরে আসে
মানটি সফলভাবে পার্স করা হলে সত্য; মিথ্যা যদি না।

পার্সিয়ান্ট

bool ParseInt(
  const char *str,
  uint64_t & output,
  int base
)

বেস প্যারামিটারের ভিত্তিতে উপযুক্ত ব্যাখ্যার প্রয়োগ করে একটি স্ট্রিংকে 64-বিট স্বাক্ষরযুক্ত পূর্ণসংখ্যায় রূপান্তর করার চেষ্টা করুন।

বিশদ
পরামিতি
[in] str
পার্স করার পূর্ণসংখ্যাকে প্রতিনিধিত্ব করে এমন একটি NULL- সমাপ্ত সি স্ট্রিংয়ের পয়েন্টার।
[out] output
64-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যার জন্য স্টোরেজ সম্পর্কিত একটি উল্লেখ যেখানে পার্স করা মান সাফল্যে সংরক্ষণ করা হবে।
[in] base
যে ভিত্তিটি অনুসারে স্ট্রিংটি ব্যাখ্যা করা এবং পার্স করা উচিত। যদি 0 বা 16 হয় তবে স্ট্রিংটি হেক্সাডেসিমাল এবং "0x" দিয়ে উপসর্গযুক্ত হতে পারে। অন্যথায়, যদি একটি লিডিং 0 এর মুখোমুখি হয় না যেখানে 8 বিহিত থাকে তবে 0টিকে 10 হিসাবে অন্তর্ভুক্ত করা হয়।
ফিরে আসে
সাফল্যের উপর সত্য; অন্যথায়, ব্যর্থতা উপর মিথ্যা।

পার্সিয়ান্ট

bool ParseInt(
  const char *str,
  uint32_t & output,
  int base
)

বেস প্যারামিটারের ভিত্তিতে উপযুক্ত ব্যাখ্যার প্রয়োগ করে একটি স্ট্রিংটিকে 32-বিট স্বাক্ষরযুক্ত পূর্ণসংখ্যায় রূপান্তর করার চেষ্টা করুন।

বিশদ
পরামিতি
[in] str
পার্স করার পূর্ণসংখ্যাকে প্রতিনিধিত্ব করে এমন একটি NULL- সমাপ্ত সি স্ট্রিংয়ের পয়েন্টার।
[out] output
32-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যার জন্য স্টোরেজ সম্পর্কিত একটি উল্লেখ যেখানে পার্স করা মান সাফল্যে সংরক্ষণ করা হবে।
[in] base
যে ভিত্তিটি অনুসারে স্ট্রিংটি ব্যাখ্যা করা এবং পার্স করা উচিত। যদি 0 বা 16 হয় তবে স্ট্রিংটি হেক্সাডেসিমাল এবং "0x" দিয়ে উপসর্গযুক্ত হতে পারে। অন্যথায়, যদি একটি লিডিং 0 এর মুখোমুখি হয় না যেখানে 8 বিহিত থাকে তবে 0টিকে 10 হিসাবে অন্তর্ভুক্ত করা হয়।
ফিরে আসে
সাফল্যের উপর সত্য; অন্যথায়, ব্যর্থতা উপর মিথ্যা।

পার্সিয়ান্ট

bool ParseInt(
  const char *str,
  int32_t & output,
  int base
)

বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যাটি প্রয়োগ করে একটি স্ট্রিংটিকে 32-বিট স্বাক্ষরিত পূর্ণসংখ্যায় রূপান্তর করার চেষ্টা করুন।

বিশদ
পরামিতি
[in] str
পার্স করার পূর্ণসংখ্যাকে প্রতিনিধিত্ব করে এমন একটি NULL- সমাপ্ত সি স্ট্রিংয়ের পয়েন্টার।
[out] output
32-বিট স্বাক্ষরিত পূর্ণসংখ্যার জন্য স্টোরেজ সম্পর্কিত একটি উল্লেখ যেখানে পার্স করা মান সাফল্যে সংরক্ষণ করা হবে।
[in] base
যে ভিত্তিটি অনুসারে স্ট্রিংটি ব্যাখ্যা করা এবং পার্স করা উচিত। যদি 0 বা 16 হয় তবে স্ট্রিংটি হেক্সাডেসিমাল এবং "0x" দিয়ে উপসর্গযুক্ত হতে পারে। অন্যথায়, যদি একটি লিডিং 0 এর মুখোমুখি হয় না যেখানে 8 বিহিত থাকে তবে 0টিকে 10 হিসাবে অন্তর্ভুক্ত করা হয়।
ফিরে আসে
সাফল্যের উপর সত্য; অন্যথায়, ব্যর্থতা উপর মিথ্যা।

পার্সিয়ান্ট

bool ParseInt(
  const char *str,
  uint64_t & output
)

বেস প্যারামিটারের উপর ভিত্তি করে যথাযথ ব্যাখ্যার প্রয়োগ করে একটি পার্সকে দশমিক মান হিসাবে একটি 64-বিট স্বাক্ষরযুক্ত পূর্ণসংখ্যায় রূপান্তর করার চেষ্টা করুন।

বিশদ
পরামিতি
[in] str
পার্স করার পূর্ণসংখ্যাকে প্রতিনিধিত্ব করে এমন একটি NULL- সমাপ্ত সি স্ট্রিংয়ের পয়েন্টার।
[out] output
64-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যার জন্য স্টোরেজ সম্পর্কিত একটি উল্লেখ যেখানে পার্স করা মান সাফল্যে সংরক্ষণ করা হবে।
ফিরে আসে
সাফল্যের উপর সত্য; অন্যথায়, ব্যর্থতা উপর মিথ্যা।

পার্সিয়ান্ট

bool ParseInt(
  const char *str,
  uint32_t & output
)

বেস প্যারামিটারের উপর ভিত্তি করে যথাযথ ব্যাখ্যার প্রয়োগ করে একটি স্ট্রিংকে দশমিক মান হিসাবে 32-বিট স্বাক্ষরযুক্ত পূর্ণসংখ্যায় রূপান্তর করার চেষ্টা করুন।

বিশদ
পরামিতি
[in] str
পার্স করার পূর্ণসংখ্যাকে প্রতিনিধিত্ব করে এমন একটি NULL- সমাপ্ত সি স্ট্রিংয়ের পয়েন্টার।
[out] output
32-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যার জন্য স্টোরেজ সম্পর্কিত একটি উল্লেখ যেখানে পার্স করা মান সাফল্যে সংরক্ষণ করা হবে।
ফিরে আসে
সাফল্যের উপর সত্য; অন্যথায়, ব্যর্থতা উপর মিথ্যা।

পার্সিয়ান্ট

bool ParseInt(
  const char *str,
  int32_t & output
)

বেস প্যারামিটারের উপর ভিত্তি করে যথাযথ ব্যাখ্যার প্রয়োগ করে একটি স্ট্রিংকে দশমিক মান হিসাবে 32-বিট স্বাক্ষরিত পূর্ণসংখ্যায় রূপান্তর করার চেষ্টা করুন।

বিশদ
পরামিতি
[in] str
পার্স করার পূর্ণসংখ্যাকে প্রতিনিধিত্ব করে এমন একটি NULL- সমাপ্ত সি স্ট্রিংয়ের পয়েন্টার।
[out] output
32-বিট স্বাক্ষরিত পূর্ণসংখ্যার জন্য স্টোরেজ সম্পর্কিত একটি উল্লেখ যেখানে পার্স করা মান সাফল্যে সংরক্ষণ করা হবে।
ফিরে আসে
সাফল্যের উপর সত্য; অন্যথায়, ব্যর্থতা উপর মিথ্যা।

পার্সিয়ান্ট

bool ParseInt(
  const char *str,
  uint16_t & output
)

বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যাকে প্রয়োগ করে, একটি স্ট্রিংকে দশমিক মান হিসাবে 16-বিট স্বাক্ষরযুক্ত পূর্ণসংখ্যায় রূপান্তর করার চেষ্টা করুন attempt

বিশদ
পরামিতি
[in] str
পার্স করার পূর্ণসংখ্যাকে প্রতিনিধিত্ব করে এমন একটি NULL- সমাপ্ত সি স্ট্রিংয়ের পয়েন্টার।
[out] output
একটি 16-বিট স্বাক্ষরযুক্ত পূর্ণসংখ্যার জন্য স্টোরেজের একটি উল্লেখ যা পার্স করা মান সাফল্যে সংরক্ষণ করা হবে।
ফিরে আসে
সাফল্যের উপর সত্য; অন্যথায়, ব্যর্থতা উপর মিথ্যা।

পার্সিয়ান্ট

bool ParseInt(
  const char *str,
  int16_t & output
)

বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যাকে প্রয়োগ করে একটি স্ট্রিংকে দশমিক মান হিসাবে 16-বিট স্বাক্ষরিত পূর্ণসংখ্যায় রূপান্তর করার চেষ্টা করুন attempt

বিশদ
পরামিতি
[in] str
পার্স করার পূর্ণসংখ্যাকে প্রতিনিধিত্ব করে এমন একটি NULL- সমাপ্ত সি স্ট্রিংয়ের পয়েন্টার।
[out] output
16-বিট স্বাক্ষরিত পূর্ণসংখ্যার জন্য স্টোরেজ সম্পর্কিত একটি উল্লেখ যেখানে পার্স করা মান সাফল্যে সংরক্ষণ করা হবে।
ফিরে আসে
সাফল্যের উপর সত্য; অন্যথায়, ব্যর্থতা উপর মিথ্যা।

পার্সিয়ান্ট

bool ParseInt(
  const char *str,
  uint8_t & output
)

বেস প্যারামিটারের উপর ভিত্তি করে উপযুক্ত ব্যাখ্যাকে প্রয়োগ করে পার্স এবং দশমিক মান হিসাবে 8 বিট স্বাক্ষরযুক্ত পূর্ণসংখ্যায় রূপান্তরিত করার চেষ্টা করুন attempt

বিশদ
পরামিতি
[in] str
পার্স করার পূর্ণসংখ্যাকে প্রতিনিধিত্ব করে এমন একটি NULL- সমাপ্ত সি স্ট্রিংয়ের পয়েন্টার।
[out] output
8-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যার জন্য স্টোরেজ সম্পর্কিত একটি উল্লেখ যেখানে পার্স করা মান সাফল্যে সংরক্ষণ করা হবে।
ফিরে আসে
সাফল্যের উপর সত্য; অন্যথায়, ব্যর্থতা উপর মিথ্যা।

পার্সনোডআইডি

bool ParseNodeId(
  const char *str,
  uint64_t & nodeId
)

পাঠ্য আকারে একটি ওয়েভ নোড আইডি পার্স করুন।

পার্সনোডআইডি () ফাংশন হেক্স ফর্ম্যাটে প্রদত্ত একটি -৪-বিট নোড আইডি গ্রহণ করে (অগ্রণী '0x' এর সাথে বা তার বাইরে) বা 'যে কোনও' বা 'সমস্ত' শব্দের অর্থ নোড আইডি (0xFFFFFFFFFFFFFF) হিসাবে ব্যাখ্যা করা হয় ।

বিশদ
পরামিতি
[in] str
পার্স করার জন্য নোড আইডি থাকা একটি NULL- সমাপ্ত সি স্ট্রিংয়ের একটি পয়েন্টার।
[out] output
একটি uint64_t লভ্যুয়েলের একটি রেফারেন্স যাতে পার্স করা মান সাফল্যে সংরক্ষণ করা হবে।
ফিরে আসে
মানটি সফলভাবে পার্স করা হলে সত্য; মিথ্যা যদি না।

পার্সসুবনেটআইডি

bool ParseSubnetId(
  const char *str,
  uint16_t & subnetId
)

পার্স করুন এবং স্ট্রিংটিকে হেক্সাডেসিমাল হিসাবে ব্যাখ্যা করে একটি স্ট্রিংটিকে 16-বিট স্বাক্ষরযুক্ত সাবনেট আইডিতে রূপান্তর করার চেষ্টা করুন।

বিশদ
পরামিতি
[in] str
পার্স করার জন্য হেক্সাডেসিমাল হিসাবে ফর্ম্যাট করা সাবনেট আইডি উপস্থাপন করে এমন একটি NULL- সমাপ্ত সি স্ট্রিংয়ের পয়েন্টার।
[in,out] subnetId
16-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যার জন্য স্টোরেজ সম্পর্কিত একটি উল্লেখ যেখানে পার্স করা সাবনেট আইডি মান সাফল্যে সংরক্ষণ করা হবে।
ফিরে আসে
সাফল্যের উপর সত্য; অন্যথায়, ব্যর্থতা উপর মিথ্যা।

মুদ্রণ অপশন সহায়তা

void PrintOptionHelp(
  OptionSet *optSets[],
  FILE *s
)

একটি স্ট্রিমের বিকল্পগুলির নির্দিষ্ট তালিকার জন্য সহায়তা পাঠ্য মুদ্রণ করুন।

বিশদ
পরামিতি
[in] optSets
পয়েন্টার একটি তালিকা OptionSet কাঠামো যে সহায়তা পাঠ্য মুদ্রণ করতে থাকে।
[in] s
ফাইল স্ট্রিম যাতে সাহায্য পাঠ্য মুদ্রিত করা উচিত।

পুটস্ট্রিংউথব্ল্যাঙ্কলাইন

void PutStringWithBlankLine(
  FILE *s,
  const char *str
)

পুটস্ট্রিং উইথনিউলাইন

void PutStringWithNewLine(
  FILE *s,
  const char *str
)

স্প্লিটআর্গস

int32_t SplitArgs(
  char *argStr,
  char **& argList,
  char *initialArg
)