同調実験室 - ARGIUS.net

TOP PAGE INDEX Number / 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

12:実行時の引数

機能

  1. 実行時に入力された引数を表示する
  2. 引数が指定されなかった場合は"引数がありません"と表示する

C++は、Cと同じ形式を用いる

実行結果

$ ./test aa bb cc
引数1の値 = aa
引数2の値 = bb
引数3の値 = cc

$

ソース

C

#include <stdio.h>

int main(int argc, char *argv[])
{
  /*
   * argc    は引数の要素数
   * *argv[] は引数の文字列ポインタ配列
   * argv[0] は実行ファイル自体の名前
   */
  int i;
  
  if (argc >= 2) {
    
    for (i = 1; i < argc; i++) {
      
      printf("引数%dの値 = %s\n", i, argv[i]);
      
    }
    
  } else {
    
    printf("引数がありません\n");
    
  }
  
  return 0;
}

C++

#include <iostream>

int main(int argc, char *argv[])
{
  /*
   * argc    は引数の要素数
   * *argv[] は引数の文字列ポインタ配列
   * argv[0] は実行ファイル自体の名前
   */
  
  if (argc >= 2) {
    
    for (int i=1;i<argc;i++) {
      
      std::cout << "引数" << i << "の値 = " << argv[i] << std::endl;
      
    }
    
  } else {
    
    std::cout << "引数がありません" << std::endl;
    
  }
  
  return 0;
}

Java

class Main {
    
    public static void main (String[] args) {
        
        // args は引数の文字列型の配列
        
        if (args.length > 0) {
            
            for (int i = 0; i < args.length; i++) {
                
                System.out.println("引数" + (i+1) + "の値 = " + args[i]);
                
            }
            
        } else {
            
            System.out.println("引数がありません");
            
        }
        
    }
    
}

Perl

# @ARGV は引数の配列

if (@ARGV >= 0) {
    
    my $i = 1;
    foreach (@ARGV) {
        
        printf"引数%dの値 = %s\n", $i++, $_;
        
    }
    
} else {
    
    print"引数がありません\n";
    
}

Ruby

# ARGV は引数の配列

if ARGV.length > 0
  i = 1
  ARGV.each do |s|
    puts "引数#{i}の値 = " + s
    i += 1
  end
else
  puts '引数がありません'
end

最終更新日 : 2004.08.23

TOP PAGEINDEX Number / 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18