evaluate a sentence.

Light Poster
18Dec2009,06:03   #1
Brett.h's Avatar
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
Go4Expert Founder
18Dec2009,09:08   #2
shabbir's Avatar
Split it based on the spaces, comma, and fullstop
Newbie Member
18Dec2009,09:43   #3
dhakshinamoorthy's Avatar
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);



Light Poster
19Dec2009,03:01   #4
Brett.h's Avatar
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;
}
Newbie Member
19Dec2009,07:25   #5
dhakshinamoorthy's Avatar
try this function

fgets()


....
this gets a string from user........
Light Poster
19Dec2009,11:45   #6
learn3r's Avatar
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.