Thread: Simple function problem

  1. #1
    Registered User
    Join Date
    Mar 2010

    Question Simple function problem


    I have um simple program that just count how many args are introduced by user.

    Example: insert 20 30 should say 3 args. The problem is i can count the args correctly but one of my variavles changes and i don't want.
    #include <readline/readline.h>
    #include <readline/history.h>
    #include <string.h>
    int num_args(char *op)
    int number=0;
    char *temp;
    temp = strtok (op," ");
      while (temp != NULL)
    /*    printf ("%s\n",pch);*/
        temp = strtok (NULL, " ");
      return number;
    int main ()
    char *r;
    int a;
    r=readline("LETRAS: ");
    printf("Number of ARGS: %d and comand:%s\n",a,r);
    as you can see i want to keep r as it was after user insert the comand, but when i passed to function changes.
    Help me please....


  2. #2
    and the Hat of Guessing tabstop's Avatar
    Join Date
    Nov 2007
    If you don't want to change the string, strtok is not for you. Or alternatively you can create a copy of the command string and call strtok on that.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Replies: 3
    Last Post: 10-28-2009, 09:25 AM
  2. Calling a Thread with a Function Pointer.
    By ScrollMaster in forum Windows Programming
    Replies: 6
    Last Post: 06-10-2006, 08:56 AM
  3. Dikumud
    By maxorator in forum C++ Programming
    Replies: 1
    Last Post: 10-01-2005, 06:39 AM
  4. Binary Search Trees Part III
    By Prelude in forum A Brief History of
    Replies: 16
    Last Post: 10-02-2004, 03:00 PM
  5. qt help
    By Unregistered in forum Linux Programming
    Replies: 1
    Last Post: 04-20-2002, 09:51 AM