I'm working on my own pow function and I need to make a copy of *argv[] but
I think that I am having trouble with the size of *argv[] and the size of any array that I
make. The code below isn't working for me. and I want to accept any number no
matter the size with pow -f 2 2. I was working out the input issues but I need an
array that will copy *argv[] so that I can iterate through *argv[]. Or I need a function
that will rewind *argv[].
Here is one of the reasons I need to rewind or copy *argv[], also this isn't
homework or anything. I am using this for my pow function and atoi doesn't check
whether or not the string itself is a number or not.
Simply capturing the pointer in argv[i] doesn't make a copy of the string that argv[i] points to.
Also, you've picked up on the fact that argv[1] is the first command line parameter, but you're going to possibly cause a segment fault with your code because your target array is zero based. Your assignment should be something like this with the definition of your array:
If you must index into a string (any string, not just argv[x]), it is wise to allocate a character pointer and advance that along so that you never lose the pointer to the head of the string.
Hope this helps.
Last edited by agama; 07-29-2011 at 11:39 PM..
Reason: clarification
You don't have to if you don't want to but I am still confused at how to fix the for loop.
Is there anything else I could search for other the isspace to tell the for loop when to
stop. Because the only problem I am seeing other then not accepting appropriate input
is having to change argv and I still don't understand what the fix did. You posted use the
code below but I don't understand what it does. could you iterate? Also what exactly
do I have to match that will tell me when the end of an argument has been reach. I tried
to print the last argument with printf and all did was print something empty. God only I
can't tell if the end of the argument is '\0' '\n' or anything of that nature. Basically if I enter
"pow eric justin allan" what will *argv[1]+4 equal? Will it be '\n'.? Also what should i equal,
in the code below.
Here's a small programme that will search through all command line parameters and print each out. It will also scan each parameter and print whether or not it contains all digits (leading whitespace is discarded such that " 123" is considered all digits. It should illustrate how to know when to stop processing command line arguments.
Arguments from the command line are zero terminated. From the example above the statement for( ; *sp; sp++ ) will stop when the character pointed to by sp is zero. It is the same as using:
So, to answer your question about what *argv[1]+4 will equal when argv[1] is "eric" -- it should be zero.
It's a network question. The code below doesn't work. Do you have any idea how
to receive data about the connecting networks? ---------- Post updated at 09:13 PM ---------- Previous update was at 09:13 PM ----------
Are you getting an error from the accept? It would also help to see how you initialise simpleSocket and any messages that the process that is trying to connect to your programme is reporting.
So i am trying to read in file
readFile <GivenFile> modFile
looking for a regular file under the directories in the GivenFile and print them out is my over all goal.
basically I am looking for anything that looks like a directory in the given file and printing it out.
Since I am trying to do... (2 Replies)
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)
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)
SCO openserver 5r5
I only have this available to me ...
To list the files...
cpio -itcvB < /dev/nrct0
To copy a file out
cpio -icvdBum filename < /dev/nrct0So cpio is to archive or "zip" files up??
and /dev/nrct0 is the tape drive ???
How can i list all the files inside... (2 Replies)
this is in one of my scripts...
if ($#argv == 0) then
echo 'blah bla'
exit 0
endif
I want it to be something like this...
if ($#argv == 0 OR $argv >=3)
echo 'blah bla'
exit 0
endif
so when the arguments are none, or greater than three I want this "if then" to take over. how? I... (5 Replies)
Hello Friends,
I got stuck with fgets () & rewind() function .. Please need help..
Actually I am doing a like,
The function should read lines from a txt file until the function is called..
If the data from the txt file ends then it goes to the top and then again when the function is called... (1 Reply)
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; ... (5 Replies)
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)