you need to assign a pointer to it like:
char*i=argv[2];
then do something like:
for (int counter=0;counter<strlen(i);counter++)
{
if (foo(i[counter]))
...
etc. Code may be a bit messy, I'm still half asleep.

Thanks,
Tyler Littlefield
email: [EMAIL PROTECTED]
web: tysdomain-com
Visit for quality software and web design.
skype: st8amnd2005

  ----- Original Message ----- 
  From: jagomaniak 
  To: [email protected] 
  Sent: Saturday, November 08, 2008 4:58 AM
  Subject: [c-prog] Re: Command line parameters


  The program is written in C. :) I have the parameters check in my
  program already, I'm just struggling with how to write that loop.

  char *c = argv[2];

  while (*argv[2])
  {
  if ((isupper(*argv[2])) || (isdigit(*argv[2])))
  { continue; }
  else
  printf("Second parameter includes forbidden characters");
  return EXIT_FAILURE;
  }

  But that doesn't work.

  --- In [email protected], "David Hamill" <[EMAIL PROTECTED]> wrote:
  >
  > > My program is run in the command line with two parameters:
  > >
  > > program -param1 param2
  > 
  > This is a C answer, it may be slightly different in C++.
  > 
  > If you declare
  > 
  > int main(int argc, char *argv[])
  > 
  > you should first check that argc == 3 and exit with a 
  > suitable error message if not. With argc == 3, you can 
  > access argv[0] (program name), argv[1] (param1 string), 
  > argv[2] (param2 string).
  > 
  > BTW argc and argv can have any names you like but these are 
  > the conventional ones (for argument count and argument 
  > vector).
  > 
  > > I need the program to check if the param2 includes any 
  > > characters
  > > other than capital letters (A-Z) and numbers (0-9).
  > 
  > Loop through argv[2] until you reach the terminating '\0', 
  > applying the "is" functions of <ctype.h> to each char. Or 
  > you could do it the long way and compare each char with 'a', 
  > 'z', '0', '9'.
  > 
  > Good luck!
  > 
  > David
  >



   

[Non-text portions of this message have been removed]

Reply via email to