C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

コマンドライン引数を解析するためのCのgetopt()関数


getopt()は、コマンドラインオプションを取得するために使用される組み込みのC関数の1つです。この関数の構文は次のようになります-

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

opstringは文字のリストです。それぞれが1文字のオプションを表しています。

この関数は多くの値を返します。これらは以下のようなものです-

  • オプションが値をとる場合、その値はoptargによってポイントされます。
  • 処理するオプションがなくなると、-1が返されます
  • 「?」を返し、これが認識されないオプションであることを示し、optoptに保存します。
  • 一部のオプションには値が必要な場合があります。オプションは存在するが値が存在しない場合は、「?」も返されます。 optstringの最初の文字として「:」を使用できるため、その場合、値が指定されていない場合は「?」ではなく「:」が返されます。

#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. JavaScriptのDate.parse()関数

    Dateオブジェクトは、JavaScript言語に組み込まれているデータ型です。以下に示すように、日付オブジェクトは新しいDate()で作成されます。 Dateオブジェクトが作成されると、いくつかのメソッドを使用してそのオブジェクトを操作できます。ほとんどのメソッドでは、現地時間またはUTC(協定世界時、またはGMT)時間を使用して、オブジェクトの年、月、日、時間、分、秒、およびミリ秒のフィールドを取得および設定できます。 parse()関数は、文字列形式の日付を受け入れて解析し、1 stからの合計ミリ秒を計算します。 1970年1月に返品します。 構文 その構文は次のとおりです Da

  2. JavaScriptのパラメータと引数。

    関数パラメーターは、関数定義に存在する変数の名前です。関数の引数は、関数に渡され、関数によって受け取られる実際の値です。 以下は、JavaScriptのパラメーターと引数を示すコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"