Read Command-Line Arguments: Difference between revisions
Content deleted Content added
C version |
|||
Line 1: | Line 1: | ||
{{duplicate}} |
|||
{{task}}Read the command line arguments, display the total number, and display each one, including any reference to the program itself. (i.e., if the language includes the name and path of the executable as one of the arguments, include it.) |
{{task}}Read the command line arguments, display the total number, and display each one, including any reference to the program itself. (i.e., if the language includes the name and path of the executable as one of the arguments, include it.) |
||
Revision as of 15:27, 2 December 2007
Read Command-Line Arguments
You are encouraged to solve this task according to the task description, using any language you may know.
You are encouraged to solve this task according to the task description, using any language you may know.
Read the command line arguments, display the total number, and display each one, including any reference to the program itself. (i.e., if the language includes the name and path of the executable as one of the arguments, include it.)
C
#include<stdio.h> int main(int argc, char *argv[]) { int narg; printf("There are %d arguments\n", argc); for(narg=0; narg<argc; ++narg) printf("Argument #%d is %s.\n", narg, argv[narg]); return 0; }
C++
#include <iostream> int main( int argc, char *argv[] ) { std::cout << "There are " << argc << " arguments." << std::endl; for (int argnum = 0; argnum < argc; ++argnum) { std::cout << "Argument #" << argnum << " is " << argv[argnum] << "." << std::endl; } return 0; }
Haskell
import System.Environment main = do prog <- getProgName args <- getArgs putStrLn $ "Program name: " ++ prog putStrLn $ "There are " ++ show (length args) ++ " arguments:" forM_ (zip args [1..]) $ \(a,i) -> putStrLn $ "Argument #" ++ show i ++ " is " ++ a
Perl
#!/usr/bin/perl print "There are $#ARGV arguments.\n"; foreach $argnum ( 0 .. $#ARGV ) { print "Argument $argnum is $ARGV[$argnum].\n"; }