evaluate a sentence.

Brett.h's Avatar, Join Date: Dec 2009
Light Poster
I am writing a program where the user inputs a string, and then that string is evaluated by the program word by word, but there is one problem, how do I break it down word by word, (i am also going to use vectors),

-Brett
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
Split it based on the spaces, comma, and fullstop
dhakshinamoorthy's Avatar, Join Date: Dec 2009
Newbie Member
Look at man pages for this function for extracting tokens from string

strtok, strtok_r

the sytax is
char *strtok(char *str, const char *delim);



Brett.h's Avatar, Join Date: Dec 2009
Light Poster
Yes, this does work, but, how do I get Input from a user and evaluate that, not just a given statement already in the code?
#include <stdio.h>
#include <string.h>

int main ()
{
char str[] ="- This, a sample string.";
char * pch;
printf ("Splitting string \"%s\" into tokens:\n",str);
pch = strtok (str," ,.-");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, " ,.-");
}
return 0;
}
dhakshinamoorthy's Avatar, Join Date: Dec 2009
Newbie Member
try this function

fgets()


....
this gets a string from user........
learn3r's Avatar, Join Date: Dec 2009
Light Poster
the prototype of fgets() is:
char *fgets( char *str, int num, FILE *stream );
you should do:
char buffer[100];
.............
fgets(buffer,sizeof(buffer),stdin);
to take input from user.