It's only printing out the first word, since that's all you telling it to do.
CODE
stringstream(INITIALinput)>>input;
Remember, for streams, the operator>> will separate each word, based on the spaces. For example, say you had his
CODE
string first;
string last;
cout << "Enter you first and last name\n";
cin >> first >> last;
cout << "First Name: " << first << "\n";
cout << "Last Name: " << last << "\n";
So, if the user type in "foo bar", the program would print out
First Name: foo
Last Name: bar
A much simplier way to copy the string is to use
strcpy() or
memcpy() (which is much more efficient, since you have the length of the string).
CODE
memcpy(input, arraySize, INITIALinput.c_str());
Another Note: int arraySize = (stringlegnth-1); is wrong. You want +1, not -1.