Archive

Posts Tagged ‘Command line arguments’

C++ Program to implement File Handling with Command Line Arguments – Q31

January 31, 2010 Leave a comment

Q31. Program to implement File Handling with Command Line Arguments:

Copy the contents of an existing file to a new file the names of which are taken as command line arguments. The program should handle errors if the given first file name does not already exist.

… from College notes (BCA/MCA assignments):

#include <iostream.h>
#include <stdlib.h>
#include <fstream.h>
#include <string.h>
#include <conio.h>

void main(int argc, char *argv[]){
	char src[12], dest[12];
	char buff[1000];
	int len;
	clrscr();

	if(argc > 3){
		cout<<"\n Illegal Number of Arguments."<<endl;
		exit(1);
		}
	else if(argc == 2){
		cout<<"\n Enter the Destination File."<<endl;
		cin>>dest;
		}
	else if(argc == 1){
		cout<<"\n Enter Source and Destination File."<<endl;
		cin>>src;
		cin>>dest;
		}
	else{
		strcpy(src, argv[1]);
		strcpy(dest, argv[2]);
		}

	ifstream fin;
	fin.open(src, ios::in);

	if(!fin){
		cerr<<"\n File Does not Exist.";
		getch();
		exit(1);
		}
	fin.read((char*)&buff, sizeof(buff));
	fin.close();

	len = strlen(buff) - 1;

	ofstream fout;
	fout.open(dest, ios::out);
	fout.write((char*)&buff, len);
	fout.close();

	cout<<"\n File copied Successfully.";

	getch();
	}

 

Output:

C:\TC\MANOJ>31_FH.exe man.txt abc.txt

File Copied Successfully.


Advertisement

C++ Program to check Command Line Arguments – Q4

January 4, 2010 Leave a comment

Q4. Program to check Command line arguments:

Accept an n digit number as command line argument & perform various tasks specified below:
 i) Find the sum of digits of the number
ii) Find the reverse of a number

… from College notes (BCA/MCA assignments):

#include <iostream.h>
#include <conio.h>
#include <string.h>
#include <math.h>

void Sum_Num(char *);
void Rev_Num(char *);

void main(int argv, char *argc[]){
	char patt[10];
	clrscr();
	if(argv < 1)
		cout<<"\n Insuffecient Arguments. \n";
	else{
		strcpy(patt, argc[1]);
		cout<<”\n Argument is: “<<patt;
		Sum_Num(patt);
		Rev_Num(patt);
		}
	getch();
	}

void Sum_Num(char *pt){
	int sum = 0, i = 0;
	while(*(pt+i) != '\0'){
		sum += int(*(pt+i)) - 48;
		i++;
		}
	cout<<"\n Sum: "<<sum;
	}

void Rev_Num(char *pt){
	long r_num = 0;
	int i = 0;
	while(*(pt+i) != '\0'){
		r_num += (int(*(pt+i)) - 48) * pow(10, i);
		i++;
		}
	cout<<"\n Reverse: "<<r_num;
	}

 

Output:

Argument is: 12345

Sum: 15

Reverse: 54321


Categories: Cpp Tags: , , , ,