Sponsored Content
Top Forums Programming Need help in storing command line argument argv[2] to a variable of int type Post 302267268 by frozensmilz on Friday 12th of December 2008 04:06:17 AM
Old 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...........SmilieSmilie


#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

Passing the command line argument in a variable

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

Help - Cast converts default int return type

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

storing result of a command in variable

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

storing a command in a variable

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

Using ARGV, acepting text from command line

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

Storing o/p of a command to a variable

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

Pass command line argument to variable

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

Splitting string and storing in int

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

Storing command output in a variable and using cut/awk

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

Storing awk command in a variable

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)
All times are GMT -4. The time now is 03:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy