C Programming Command Line Argument
C Programming Command Line Argument
Command-line Arguments
& %
Lect 30 Goutam Biswas
' $
PDS: CS 11002 Computer Sc & Engg: IIT Kharagpur 2
int main()
& %
Lect 30 Goutam Biswas
' $
PDS: CS 11002 Computer Sc & Engg: IIT Kharagpur 3
Example 1
#include <stdio.h>
int main(int aNum, char *aList[],
char *envL[])
{ // commLine1.c
int i;
& %
}
Lect 30 Goutam Biswas
' $
PDS: CS 11002 Computer Sc & Engg: IIT Kharagpur 4
Running
& %
HOSTNAME=goutam
Example 2
#include <stdio.h>
#include <stdlib.h>
int main(int aNum, char *aList[]) // commLine2.c
{
int i, n, fact=1;
if(aNum<2){ printf("No argument\n"); return 0; }
n = atoi(aList[1]);
for(i=1; i<=n; ++i) fact *= i;
printf("%d! = %d\n", n, fact);
return 0;
}
& %
Lect 30 Goutam Biswas
' $
PDS: CS 11002 Computer Sc & Engg: IIT Kharagpur 6
Running
$ ./a.out 0
0! = 1
$ ./a.out 1
1! = 1
$ ./a.out 5
5! = 120
& %
Lect 30 Goutam Biswas
' $
PDS: CS 11002 Computer Sc & Engg: IIT Kharagpur 7
Example 3
#include <stdio.h>
#include <stdlib.h>
#define MAXNO 100
#define ROLL 9
#define NAME 51
struct studData {
char rollNo[ROLL] ;
char name[NAME] ;
float cgpa ;
};
int main(int aNum, char *aList[]) // commLine3.c
& %
{
Lect 30 Goutam Biswas
' $
PDS: CS 11002 Computer Sc & Engg: IIT Kharagpur 8
int noOfStdnt, i ;
struct studData data[MAXNO] ;
FILE *fpO, *fpI ;
if(aNum < 3) {
printf("Improper number of arguments\n");
return 0;
}
fpI = fopen(aList[1], "r");
fpO = fopen(aList[2], "w");
fscanf(fpI, "%d", &noOfStdnt);
for(i=0; i<noOfStdnt; ++i) {
fscanf(fpI, "%s", data[i].rollNo);
fscanf(fpI, " %[^0-9]", data[i].name);
& %
Lect 30 Goutam Biswas
' $
PDS: CS 11002 Computer Sc & Engg: IIT Kharagpur 9
& %
Lect 30 Goutam Biswas
' $
PDS: CS 11002 Computer Sc & Engg: IIT Kharagpur 10
Running
& %
Lect 30 Goutam Biswas