Hello all,
I'm trying to parse a file, but for some reason, getline is combining my two letter words with other words.

Here is the portion of code I'm working with: note: my program will always ignore the first word in a line

char line[256];
string word;  
char *line2=new char(); 
	fgets(line, 256, in); //get the line from the in stream (which contains the file)
	if (feof(in))
	printf("%s",line); //print first line
	strncpy(line2,line,(strlen(line)-1)); //copy the line into a char pointer, minus the newline char
	string str;
str.assign(line2); //copy the line2 char* into a string, this maybe be redundent

stringstream s(str); //set s as a sstream reading from the str
getline(s, word, ' '); //gets the first word, which I do not use
while (getline(s, word, ' ')){ //gets the following words in the line in order and parses
cout<<"word is " << word << endl;

//pseudo code here where if the current parsed word is recognized, then the program prints something, otherwise it will recurse to the next line, not really important here

For example, say in my file I have
pet CAT AB

When I use my cout to check my parsed words, I would see CAT, then ABCAT. Any reason why? Thanks.