12-04-2007
help for argv argc
Hi C experts,
I have the following code for adding command line option for a program
int main (argc, argv)
int argc;
char *argv[];
{
char *mem_type; //memory type
char *name; //name of the memory
int addr; //address bits
int data; //data bits
int banks; //number of banks
int num_entries; //memory depth
int i; //internal variable
int cren; //cren variable for special cases
int y_add; //y-address bits for ldigram6tri
int x_add; //x-address bits for ldigram6tri
int sdata; //sdata bits for ldigram6tri
//Storing the memory models command line argument data into internal data variable.
for (i = 1; i < argc; i++)
{
if (!strcmp ((argv[i]) , "-type"))
mem_type = argv[i+1];
/*
.other 2 options similar to above stncmp
.
*/
else if (argc < 9)
{
printf("\nWrong options and/or arguments used.\n");
printf("Please check Syntax and try again.\n\n");
print_message(argv[0]);
return 0;
}
}
//Selector for the memory type:
if (!strcmp(mem_type, "ra2_met")) { gen_samsung_mem_ra2_met(name, num_entries, addr, data);
}
else if (!strcmp (mem_type, "ra2g_met")) { gen_samsung_mem_ra2_met(name, num_entries, addr, data);
}
else { printf("Invalid mem_type selected\n");
printf("Please check Syntax and try again.\n\n");
print_message(argv[0]);
return 10;
}
return 0;
}
/*******sub***/
void print_message (argv_t1)
char argv_t1[];
{
printf("Usage: %s <required/options : arguments>\n\n", argv_t1);
printf("required : arguments\n\n");
printf(" -help : print out command line options.\n\n\n");
}
but always get one error or another.
In function ‘main':
warning: passing argument 1 of ‘strcmp' makes pointer from integer without a cast
warning: passing argument 1 of ‘strcmp' makes pointer from integer without a cast
warning: passing argument 1 of ‘strcmp' makes pointer from integer without a cast
implicit declaration of function ‘print_message'
At top level:
warning: conflicting types for ‘print_message'
warning: previous implicit declaration of ‘print_message' was here
What would be the best way to compare the command line arguments so that I don't get the errors/warning?
Thank you very much for the help.
10 More Discussions You Might Find Interesting
1. Programming
I have a program which I wish to modify. It used to be run from the command line, but now I wish to change this so it can be used as a function.
The program has complex argument processing so I want to pass my paramters to as if it were being called by the OS as a program.
I have tried to... (2 Replies)
Discussion started by: mbb
2 Replies
2. Programming
I searched on the forums. No advises.
I am using a previous source code. I changed the main function main(int argc, char **argv) in a function misc(int argc, char **argv). How do you use the argc and argv parameters? This is how I am calling the function :
char param;
strcat(param,"wgrib ");... (4 Replies)
Discussion started by: Akeson Chihiro
4 Replies
3. Programming
Is it possible to use the dbx debugger with the CL options for the executable ?
Say you have created a executable called myfunc which can take string arguments at run-time. You run it like this
./myfunc Hello World
where Hello and World are the string arguments
My question is whether... (1 Reply)
Discussion started by: JamesGoh
1 Replies
4. Programming
Hello All,
First post. I've been struggling with the following:
Given a char* string, I need to construct an "int argc, char *argv" style structure. What I'm struggling with most is handling escaped-whitespace and quotes.
e.g. the string:
char *s = "hello world 'my name is simon'... (10 Replies)
Discussion started by: cbarwise
10 Replies
5. Programming
Hi,
Can somehelp help how to list file in a dir? (5 Replies)
Discussion started by: Learnerabc
5 Replies
6. Programming
when i run my program, i have a parameter, that i want to set the value to another string
i am using
int main(int argc, char **argv) {
char my_str=argv;
printf("%s",my_str);
return 0;
}
and i get
Segmentation fault
ran using
./my_prog /usr/share/dict/words hello1
... (2 Replies)
Discussion started by: omega666
2 Replies
7. Shell Programming and Scripting
Hi Folks,
I've prepared a shell script that takes action based on arguments and number of arguments..sample code like:
ARGV=("$@")
ARGC=("$#")
case ${ARGV} in
abc)
if ; then
......
else
printf "\nInvalid number of arguments, please check the inputs and... (2 Replies)
Discussion started by: SBC
2 Replies
8. Shell Programming and Scripting
Hi guys,
i'm trying to solve this problem.
I have to run something like
cat file1.txt | awk -f script.awk 10
if i'm in the awk script, how can i take the parameter :10 ??:wall:
i try something like :
BEGIN{
var=argv
}
{..}
END{..}
but obviously is not correct... (5 Replies)
Discussion started by: heaven25
5 Replies
9. UNIX for Advanced & Expert Users
All of my machines (various open source derivatives on x86 and amd64) store argv above the stack (at a higher memory address). I am curious to learn if any systems store argv below the stack (at a lower memory address).
I am particularly interested in proprietary Unices, such as Solaris, HP-UX,... (9 Replies)
Discussion started by: alister
9 Replies
10. Homework & Coursework Questions
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
First, create a "hello world" program that prints "Hello World". But NOW, instead use argc to verify that a... (9 Replies)
Discussion started by: miniviking10
9 Replies
LEARN ABOUT ULTRIX
xgetcommand
XSetCommand(3X11) MIT X11R4 XSetCommand(3X11)
Name
XSetCommand, XGetCommand - set or read a window's WM_COMMAND property
Syntax
XSetCommand(display, w, argv, argc)
Display *display;
Window w;
char **argv;
int argc;
Status XGetCommand(display, w, argv_return, argc_return)
Display *display;
Window w;
char ***argv_return;
int *argc_return;
Arguments
argc Specifies the number of arguments.
argc_return
Returns the number of arguments returned.
argv Specifies the application's argument list.
argv_return
Returns the application's argument list.
display Specifies the connection to the X server.
w Specifies the window.
Description
The function sets the command and arguments used to invoke the application. (Typically, argv is the argv array of your main program.)
can generate and errors.
The function reads the WM_COMMAND property from the specified window and returns a string list. If the WM_COMMAND property exists, it is
of type STRING and format 8. If sufficient memory can be allocated to contain the string list, fills in the argv_return and argc_return
arguments and returns a non-zero status. Otherwise, it returns a zero status. To free the memory allocated to the string list, use
Properties
WM_COMMAND
The command and arguments, separated by ASCII nulls, used to invoke the application.
Diagnostics
The server failed to allocate the requested resource or server memory.
A value for a Window argument does not name a defined Window.
See Also
XAllocClassHint(3X11), XAllocIconSize(3X11), XAllocSizeHints(3X11), XAllocWMHints(3X11), XSetTransientForHint(3X11), XSetTextProp-
erty(3X11), XSetWMClientMachine(3X11), XSetWMColormapWindows(3X11), XSetWMIconName(3X11), XSetWMName(3X11), XSetWMProperties(3X11), XSetWM-
Protocols(3X11), XStringListToTextProperty(3X11)
X Window System: The Complete Reference, Second Edition, Robert W. Scheifler and James Gettys
XSetCommand(3X11)