maybe you'd try something like this:
Code:
std::vector< std::string *> screen;
std::string vertical_line; vertical_line.resize(cols);
std::string empty_line; empty_line.resize(cols);
std::string greet_line; greet_line.resize(cols);
std::fill( vertical_line.begin(), vertical_line.end(), '*' );
std::fill( empty_line.begin(), empty_line.end(), ' ' );
empty_line[0] = '*'; empty_line[ empty_line.size() - 1 ] = '*';
greet_line.assign( empty_line );
greet_line.replace( pad, greeting.size() , greeting );
screen.push_back( &vertical_line );
for (int i=0; i!=pad2; ++i)
{
screen.push_back ( &empty_line );
}
screen.push_back( &greet_line );
for (int i=0; i!=pad2; ++i)
{
screen.push_back ( &empty_line );
}
screen.push_back( &vertical_line );
for ( std::vector<std::string*>::const_iterator it = screen.begin(); it!=screen.end(); ++it )
{
cout << (**it) << endl;
}
Have fun!
r.