工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C言語コマンドライン引数のマスター:実践ガイド

Cプログラム実行時にコマンドラインから値を渡すことができます。これらの値をコマンドライン引数と呼び、プログラム外部から制御したい場合(ハードコーディングを避けたい場合)に特に重要です。

コマンドライン引数はmain()関数の引数で扱います。argcは渡された引数の数、argv[]は各引数を指すポインタ配列です。引数が渡されたかチェックして動作を変える簡単な例です。

#include <stdio.h>
int main(int argc, char *argv[]) {
    if (argc == 2) {
        printf("The argument supplied is %s\n", argv[1]);
    } else if (argc > 2) {
        printf("Too many arguments supplied.\n");
    } else {
        printf("One argument expected.\n");
    }
    return 0;
}

単一引数でコンパイル・実行すると:

$ ./a.out testing
The argument supplied is testing

2つの引数で実行すると:

$ ./a.out testing1 testing2
Too many arguments supplied.

引数なしで実行すると:

$ ./a.out
One argument expected

argv[0]にはプログラム名自体が入り、argv[1]が最初のコマンドライン引数、argv[n]が最後の引数です。引数がない場合argcは1、引数が1つならargcは2になります。

コマンドライン引数はスペースで区切りますが、引数自体にスペースを含めたい場合は二重引用符""や一重引用符''で囲みます。プログラム名も表示し、スペースを含む引数を二重引用符で渡す例を書き直します。

#include <stdio.h>
int main(int argc, char *argv[]) {
    printf("Program name %s\n", argv[0]);
    if (argc == 2) {
        printf("The argument supplied is %s\n", argv[1]);
    } else if (argc > 2) {
        printf("Too many arguments supplied.\n");
    } else {
        printf("One argument expected.\n");
    }
    return 0;
}

スペースを含む単一引数を二重引用符で囲んで実行すると:

$ ./a.out "testing1 testing2"
Program name ./a.out
The argument supplied is testing1 testing2

C言語

  1. 精密スリッティングライン:正確な幅への高度自動コイル切断
  2. 化学包装ラインの最適化:稼働率向上とOEE追跡のためのアップグレード
  3. デコーダの理解:タイプ、真理値表、実用応用
  4. ライン効率の理解:PCB生産における主要指標
  5. GD&T解説:ラインプロファイル vs サーフェスプロファイル
  6. 生産ライン(アセンブリライン)が製造効率を高める仕組み
  7. 建築ライン(セットバックライン)とは? 敷地境界からの建築制限ラインを理解する
  8. ブリッジタップ(橋渡し配線)が電話・インターネット品質に与える影響と対策
  9. アセンブリライン(組立ライン)の革新:互換部品がもたらした量産革命と現代への継承
  10. Python 関数引数完全マスター: 位置引数・キーワード引数・デフォルト引数
  11. Javaコマンドライン引数のマスター:パラメータの渡し方とパース方法