Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

कमांड लाइन तर्कों को पार्स करने के लिए सी में getopt () फ़ंक्शन

getopt() बिल्ट-इन C फ़ंक्शन में से एक है जिसका उपयोग कमांड लाइन विकल्प लेने के लिए किया जाता है। इस फ़ंक्शन का सिंटैक्स नीचे जैसा है -

getopt(int argc, char *const argv[], const char *optstring)

opstring वर्णों की एक सूची है। उनमें से प्रत्येक एकल वर्ण विकल्प का प्रतिनिधित्व करता है।

यह फ़ंक्शन कई मान देता है। ये नीचे की तरह हैं -

  • यदि विकल्प कोई मान लेता है, तो उस मान को ऑप्टार्ग द्वारा इंगित किया जाएगा।
  • यह -1 लौटाएगा, जब प्रक्रिया के लिए कोई और विकल्प नहीं होगा
  • रिटर्न '?' यह दिखाने के लिए कि यह एक अपरिचित विकल्प है, यह इसे ऑप्टोप करने के लिए संग्रहीत करता है।
  • कभी-कभी कुछ विकल्पों को कुछ मूल्य की आवश्यकता होती है, यदि विकल्प मौजूद है लेकिन मान नहीं हैं, तो यह भी '?' वापस आ जाएगा। हम ऑप्टस्ट्रिंग के पहले वर्ण के रूप में ':' का उपयोग कर सकते हैं, इसलिए उस समय में, यह '?' के बजाय ':' वापस आ जाएगा यदि कोई मान नहीं दिया गया है।

उदाहरण

#include <stdio.h>
#include <unistd.h>

main(int argc, char *argv[]) {
   int option;
   // put ':' at the starting of the string so compiler can distinguish between '?' and ':'
   while((option = getopt(argc, argv, ":if:lrx")) != -1){ //get option from the getopt() method
      switch(option){
         //For option i, r, l, print that these are options
         case 'i':
         case 'l':
         case 'r':
            printf("Given Option: %c\n", option);
            break;
         case 'f': //here f is used for some file name
            printf("Given File: %s\n", optarg);
            break;
         case ':':
            printf("option needs a value\n");
            break;
         case '?': //used for some unknown options
            printf("unknown option: %c\n", optopt);
            break;
      }
   }
   for(; optind < argc; optind++){ //when some extra arguments are passed
      printf("Given extra arguments: %s\n", argv[optind]);
   }
}

आउटपुट

Given Option: i
Given File: test_file.c
Given Option: l
Given Option: r
Given extra arguments: hello

  1. जावास्क्रिप्ट में दिनांक.पार्स () फ़ंक्शन

    दिनांक वस्तु जावास्क्रिप्ट भाषा में निर्मित एक डेटा प्रकार है। दिनांक ऑब्जेक्ट नई दिनांक ( ) के साथ बनाए जाते हैं जैसा कि नीचे दिखाया गया है। एक बार डेट ऑब्जेक्ट बन जाने के बाद, कई तरीके आपको उस पर काम करने की अनुमति देते हैं। अधिकांश विधियां आपको स्थानीय समय या यूटीसी (सार्वभौमिक, या जीएमटी) समय क

  1. जावास्क्रिप्ट में पैरामीटर और तर्क।

    फ़ंक्शन पैरामीटर फ़ंक्शन परिभाषा में मौजूद चर के नाम हैं। फ़ंक्शन तर्क वास्तविक मान हैं जो फ़ंक्शन को पास किए जाते हैं और उनके द्वारा प्राप्त किए जाते हैं। जावास्क्रिप्ट में पैरामीटर और तर्क दिखाने वाला कोड निम्नलिखित है - उदाहरण दस्तावेज़ बॉडी { फॉन्ट-फ़ैमिली:सेगो यूआई, ताहोमा, जिनेवा, वर्दाना, से

  1. शेल/बैश लिपियों में कमांड लाइन तर्क [ट्यूटोरियल]

    यह ट्यूटोरियल बताता है कि अपनी बैश स्क्रिप्ट में कमांड-लाइन तर्क कैसे पास करें। आरंभ करने में आपकी सहायता के लिए कई उदाहरण शामिल हैं। बैश/शैल स्क्रिप्ट आपके लिनक्स वर्कफ़्लो को स्वचालित करने और अपने कार्यदिवस को तेज़ करने का एक शानदार तरीका है ताकि आप कार्यालय को जल्दी छोड़ सकें (या शाम 5 बजे तक सर