12-12-2008
Need help in storing command line argument argv[2] to a variable of int type
The following program takes two command line arguments.
I want the second argument (fileCount) to be stored/printed as a int value. I tried my best to typecast the char to int (check the printf statement at last) but is not working...the output is some junk value.
This program is in its beginning stage....this program is expected to take 2 list of strings along with the list count from files generated by a shell script and compare them both for equality ( & also checking for any extra or missing items using C++ hash functions (dictionary search) ) so the input is supposed to be the file name and list item count...the shell script is ready but...i am stuck up with the typecast for converting char to int...kindly help....& thanks in advance...........
#include <iostream>
using namespace std;
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//#include <search.h>
#define SIZ 100 // Dictionary size
#define ARGCNT 3 // Argument count
//------------------------------------------------------------------------------
// GLOBAL
//char *str[SIZ];
FILE *fp;
char *fileCount;
char *fileList;
//------------------------------------------------------------------------------
// FILE PROCESSOR
//------------------------------------------------------------------------------
// MAIN
main( int argc,
char *argv[])
{
int i;
if ( argc < ARGCNT ) {
printf ("Invalid number of arguments.\n");
printf ("BASIL B.C. 2008.\n");
exit(1);
}
for (i=1;i<argc;i++) {
switch (i) {
case 1:
fileList = argv[i];
break;
case 2:
fileCount = argv[i];
break;
default:
printf ("Not implemented yet !.\n");
printf ("BASIL B.C. 2008.\n");
}
}
printf("%s %d\n",fileList,*((int *) fileCount));
return 0;
}
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I am new to unix. Is their a way to pass the output of the line below to a variable var1.
ls -1t | head -1.
I am trying something like var1=ls -1t | head -1, but I get error.
Situation is: I get file everyday through FTP in my unix box. I have to write a script that picks up first... (1 Reply)
Discussion started by: rkumar28
1 Replies
2. Programming
What does the warning message 724 "Cast converts default int return type to." tell me.
I am new to C. (used it some in college). We are migrating our c-code to 10.2.0.3.0. The programs compiled clean. However there were several warning messages that kick out. The most prominent warning is: ... (5 Replies)
Discussion started by: rtgreen
5 Replies
3. Shell Programming and Scripting
For whatever reason I cant seem to fix my syntax to do the following. I want to run a grep and count how many instances come up and store that number in a variable but I keep erroring out. Here's my code in bash:
number=grep blah file.txt | wc -l (1 Reply)
Discussion started by: eltinator
1 Replies
4. Shell Programming and Scripting
how would i go about storing this command in a variable
echo "$LINE" | awk -F"|" '{print $1"|"$2"|"$3"}'
i have tried FOO = ${command up there} but receive the error FOO: not found
aswell as a couple of other attempt but no luck (2 Replies)
Discussion started by: nookie
2 Replies
5. Shell Programming and Scripting
I want to be able to call in my file and make it do it's magic by basically giving it:
FileNAME.pl searchTerm fileToSearch
It runs, and gives me the answers I want, however, it gives me an error:
Can't open GAATTC: No such file or directory at .//restriction_map_better.pl
line 15... (2 Replies)
Discussion started by: silkiechicken
2 Replies
6. Shell Programming and Scripting
Hi,
I have a ftp script there I want to store the o/p of the below command:
sftp -b <batch file> user@password
cat <batch file>
get /remote/file/path/remote_file_name.csv*.gz /local/path
Now the problem is that when I fire this command. Then it gives o/p as:
File... (7 Replies)
Discussion started by: dips_ag
7 Replies
7. Shell Programming and Scripting
Hi,
I had written a shell script to pass command line argument to variable in a function.
Here is my code:
main
if ; then
.$1
echo $1
get_input_file
else
echo "input file $1 is not available"
fi
get_input_file()
{
FILE = "$1"
echo $FILE
} (10 Replies)
Discussion started by: Poonamol
10 Replies
8. Programming
I have a string containing 2 integers separated by /, for example 12/8 or 8/6 am want to store the numbers in two integers. (3 Replies)
Discussion started by: kristinu
3 Replies
9. Shell Programming and Scripting
Hi,
My aim is to get the md5 hash of a file and store it in a variable.
var1="md5sum file1"
$var1
The above outputs fine but also contains the filename, so somthing like this 243ASsf25 file1
i just need to get the first part and put it into a variable.
var1="md5sum file1"... (5 Replies)
Discussion started by: JustALol
5 Replies
10. Shell Programming and Scripting
I'm working on a script in which gives certain details in its output depending on user-specified options. So, what I'd like to do is something like:
if
then
awkcmd='some_awk_command'
else
awkcmd='some_other_awk_command'
fi
Then, later in the script, we'd do something like:
... (5 Replies)
Discussion started by: treesloth
5 Replies
EXECL(3) Library Functions Manual EXECL(3)
NAME
execl, execv, execle, execlp, execvp, exec, execve, exect, environ - execute a file
SYNOPSIS
execl(name, arg0, arg1, ..., argn, 0)
char *name, *arg0, *arg1, ..., *argn;
execv(name, argv)
char *name, *argv[];
execle(name, arg0, arg1, ..., argn, 0, envp)
char *name, *arg0, *arg1, ..., *argn, *envp[];
exect(name, argv, envp)
char *name, *argv[], *envp[];
extern char **environ;
DESCRIPTION
These routines provide various interfaces to the execve system call. Refer to execve(2) for a description of their properties; only brief
descriptions are provided here.
Exec in all its forms overlays the calling process with the named file, then transfers to the entry point of the core image of the file.
There can be no return from a successful exec; the calling core image is lost.
The name argument is a pointer to the name of the file to be executed. The pointers arg[0], arg[1] ... address null-terminated strings.
Conventionally arg[0] is the name of the file.
Two interfaces are available. execl is useful when a known file with known arguments is being called; the arguments to execl are the char-
acter strings constituting the file and the arguments; the first argument is conventionally the same as the file name (or its last compo-
nent). A 0 argument must end the argument list.
The execv version is useful when the number of arguments is unknown in advance; the arguments to execv are the name of the file to be exe-
cuted and a vector of strings containing the arguments. The last argument string must be followed by a 0 pointer.
The exect version is used when the executed file is to be manipulated with ptrace(2). The program is forced to single step a single
instruction giving the parent an opportunity to manipulate its state. On the VAX-11 this is done by setting the trace bit in the process
status longword. Exect is not available on the PDP-11.
When a C program is executed, it is called as follows:
main(argc, argv, envp)
int argc;
char **argv, **envp;
where argc is the argument count and argv is an array of character pointers to the arguments themselves. As indicated, argc is convention-
ally at least one and the first member of the array points to a string containing the name of the file.
Argv is directly usable in another execv because argv[argc] is 0.
Envp is a pointer to an array of strings that constitute the environment of the process. Each string consists of a name, an "=", and a
null-terminated value. The array of pointers is terminated by a null pointer. The shell sh(1) passes an environment entry for each global
shell variable defined when the program is called. See environ(7) for some conventionally used names. The C run-time start-off routine
places a copy of envp in the global cell environ, which is used by execv and execl to pass the environment to any subprograms executed by
the current program.
Execlp and execvp are called with the same arguments as execl and execv, but duplicate the shell's actions in searching for an executable
file in a list of directories. The directory list is obtained from the environment.
FILES
/bin/sh shell, invoked if command file found by execlp or execvp
SEE ALSO
execve(2), fork(2), environ(7), csh(1)
DIAGNOSTICS
If the file cannot be found, if it is not executable, if it does not start with a valid magic number (see a.out(5)), if maximum memory is
exceeded, or if the arguments require too much space, a return constitutes the diagnostic; the return value is -1. Even for the super-
user, at least one of the execute-permission bits must be set for a file to be executed.
BUGS
If execvp is called to execute a file that turns out to be a shell command file, and if it is impossible to execute the shell, the values
of argv[0] and argv[-1] will be modified before return.
4.2 Berkeley Distribution August 4, 1987 EXECL(3)