Okay, I have tried. I know it is still a little rough, but before I go any farther, anyone know a different or better way?
Code:
#include <string>
#include <vector>
#include <iostream>
using namespace std;
size_t pos;
int main()
{
string long_string("Hi! I am a string that exceeds twenty characters in length. I need to be cut up into smaller strings");
vector<string> small_string;
string string_temp;
string::iterator it;
int i;
while(long_string.length() > 20)
{
it = long_string.begin() + 20;
if(*it != ' ')
{
for(i = 19; i > 0; i--)
{
it = long_string.begin() + i;
if(*it == ' ')
{
string_temp.assign(long_string.begin(), it);
long_string.erase(long_string.begin(), it);
small_string.push_back(string_temp);
break;
}
}
}
else
{
string_temp.assign(long_string.begin(), it);
long_string.erase(long_string.begin(), it);
small_string.push_back(string_temp);
}
if(long_string.length() < 20)
{
string_temp.assign(long_string.begin(), long_string.end());
long_string.erase(long_string.begin(), long_string.end());
small_string.push_back(string_temp);
break;
}
}
size_t str_z = small_string.size();
for(i = 0; i < (int)str_z; i++)
{
cout << small_string.at((size_t)i) << endl;
}
return 0;
}
I am sure you get the idea. Thanks in advance for any suggestions.